いきなり n元1次方程式を解こうとすると、n次行列の逆行列とかLU分解法など、線形代数を本格的にやるハメになるので中学レベルから始めます。
参考URL: 連立方程式 – 高精度計算サイト
function output() {
var a1= document.getElementById('a').value;
var b1= document.getElementById('b').value;
var c1= document.getElementById('c').value;
var d1= document.getElementById('d').value;
var p1= document.getElementById('p').value;
var q1= document.getElementById('q').value;
var x1= d1*p1-b1*q1, y1 = a1*q1-c1*p1;
var z = a1*d1-b1*c1, z1 = Math.abs(z);
if(z1 == 0) {
document.getElementById('x').innerHTML = "x = " + a1 + "x + " + b1 + "y = " + p1 + " のすべての解です。";
document.getElementById('y').innerHTML = "y = " + a1 + "x + " + b1 + "y = " + p1 + " のすべての解です。";
return false;
}
else {
document.getElementById('x').innerHTML = "x = " + x1/z;
document.getElementById('y').innerHTML = "y = " + y1/z;
return false;
}
}
今は、結果を分数で表示できないか試行錯誤中です。