連立方程式の解を求める簡単なプログラム。
2004/07/03
ねおクエ攻略時に出現する4元連立方程式を効率よく解くために作ったプログラム。4元だけではつまらないので2元、3元をコンプリートした。計算公式が知りたい方は下に書いておきましたので(多分意味ないけど)参考にしてください。
2004/07/03
2004/07/03
A1x+B1y=E1
A2x+B2y=E2
x=(E1*B2-B1*E2)/(A1*B2-B1*A2)
y=(E2*A1-E1*A2)/(A1*B2-A2*B1)
A1x+B1y+C1z=E1
A2x+B2y+C2z=E2
A3x+B3y+C3z=E3
x=(E1*B2*C3+E2*B3*C1+E3*B1*C2-E1*B3*C2-E2*B1*C3-E3*B2*C1)/
(A1*B2*C3+A2*B3*C1+A3*B1*C2-A1*B3*C2-A2*B1*C3-A3*B2*C1)
y=(A1*E2*C3+A2*E3*C1+A3*E1*C2-A1*E3*C2-A2*E1*C3-A3*E2*C1)/
(A1*B2*C3+A2*B3*C1+A3*B1*C2-A1*B3*C2-A2*B1*C3-A3*B2*C1)
z=(A1*B2*E3+A2*B3*E1+A3*B1*E2-A1*B3*E2-A2*B1*E3-A3*B2*E1)/
(A1*B2*C3+A2*B3*C1+A3*B1*C2-A1*B3*C2-A2*B1*C3-A3*B2*C1)
A1v+B1z+C1y+D1z=E1
A2v+B2z+C2y+D2z=E2
A3v+B3z+C3y+D3z=E3
A4v+B4z+C4y+D4z=E4
v=(E1*B2*C3*D4-E1*B2*C4*D3-E1*B3*C2*D4+E1*B3*C4*D2+E1*B4*C2*D3-E1*B4*C3*D2
-E2*B1*C3*D4+E2*B1*C4*D3+E2*B3*C1*D4-E2*B3*C4*D1-E2*B4*C1*D3+E2*B4*C3*D1
+E3*B1*C2*D4-E3*B1*C4*D2-E3*B2*C1*D4+E3*B2*C4*D1+E3*B4*C1*D2-E3*B4*C2*D1
-E4*B1*C2*D3+E4*B1*C3*D2+E4*B2*C1*D3-E4*B2*C3*D1-E4*B3*C1*D2+E4*B3*C2*D1)/
(A1*B2*C3*D4-A1*B2*C4*D3-A1*B3*C2*D4+A1*B3*C4*D2+A1*B4*C2*D3-A1*B4*C3*D2
-A2*B1*C3*D4+A2*B1*C4*D3+A2*B3*C1*D4-A2*B3*C4*D1-A2*B4*C1*D3+A2*B4*C3*D1
+A3*B1*C2*D4-A3*B1*C4*D2-A3*B2*C1*D4+A3*B2*C4*D1+A3*B4*C1*D2-A3*B4*C2*D1
-A4*B1*C2*D3+A4*B1*C3*D2+A4*B2*C1*D3-A4*B2*C3*D1-A4*B3*C1*D2+A4*B3*C2*D1)
x=(A1*E2*C3*D4-A1*E2*C4*D3-A1*E3*C2*D4+A1*E3*C4*D2+A1*E4*C2*D3-A1*E4*C3*D2
-A2*E1*C3*D4+A2*E1*C4*D3+A2*E3*C1*D4-A2*E3*C4*D1-A2*E4*C1*D3+A2*E4*C3*D1
+A3*E1*C2*D4-A3*E1*C4*D2-A3*E2*C1*D4+A3*E2*C4*D1+A3*E4*C1*D2-A3*E4*C2*D1
-A4*E1*C2*D3+A4*E1*C3*2+A4*E2*C1*D3-A4*E2*C3*D1-A4*E3*C1*D2+A4*E3*C2*D1)/
(A1*B2*C3*D4-A1*B2*C4*D3-A1*B3*C2*D4+A1*B3*C4*D2+A1*B4*C2*D3-A1*B4*C3*D2
-A2*B1*C3*D4+A2*B1*C4*D3+A2*B3*C1*D4-A2*B3*C4*D1-A2*B4*C1*D3+A2*B4*C3*D1
+A3*B1*C2*D4-A3*B1*C4*D2-A3*B2*C1*D4+A3*B2*C4*D1+A3*B4*C1*D2-A3*B4*C2*D1
-A4*B1*C2*D3+A4*B1*C3*D2+A4*B2*C1*D3-A4*B2*C3*D1-A4*B3*C1*D2+A4*B3*C2*D1)
y=(A1*B2*E3*D4-A1*B2*E4*D3-A1*B3*E2*D4+A1*B3*E4*D2+A1*B4*E2*D3-A1*B4*E3*D2
-A2*B1*E3*D4+A2*B1*E4*D3+A2*B3*E1*D4-A2*B3*E4*D1-A2*B4*E1*D3+A2*B4*E3*D1
+A3*B1*E2*D4-A3*B1*E4*D2-A3*B2*E1*D4+A3*B2*E4*D1+A3*B4*E1*D2-A3*B4*E2*D1
-A4*B1*E2*D3+A4*B1*E3*D2+A4*B2*E1*D3-A4*B2*E3*D1-A4*B3*E1*D2+A4*B3*E2*D1)/
(A1*B2*C3*D4-A1*B2*C4*D3-A1*B3*C2*D4+A1*B3*C4*D2+A1*B4*C2*D3-A1*B4*C3*D2
-A2*B1*C3*D4+A2*B1*C4*D3+A2*B3*C1*D4-A2*B3*C4*D1-A2*B4*C1*D3+A2*B4*C3*D1
+A3*B1*C2*D4-A3*B1*C4*D2-A3*B2*C1*D4+A3*B2*C4*D1+A3*B4*C1*D2-A3*B4*C2*D1
-A4*B1*C2*D3+A4*B1*C3*D2+A4*B2*C1*D3-A4*B2*C3*D1-A4*B3*C1*D2+A4*B3*C2*D1)
z=(A1*B2*C3*E4-A1*B2*C4*E3-A1*B3*C2*E4+A1*B3*C4*E2+A1*B4*C2*E3-A1*B4*C3*E2
-A2*B1*C3*E4+A2*B1*C4*E3+A2*B3*C1*E4-A2*B3*C4*E1-A2*B4*C1*E3+A2*B4*C3*E1
+A3*B1*C2*E4-A3*B1*C4*E2-A3*B2*C1*E4+A3*B2*C4*E1+A3*B4*C1*E2-A3*B4*C2*E1
-A4*B1*C2*E3+A4*B1*C3*E2+A4*B2*C1*E3-A4*B2*C3*E1-A4*B3*C1*E2+A4*B3*C2*E1)/
(A1*B2*C3*D4-A1*B2*C4*D3-A1*B3*C2*D4+A1*B3*C4*D2+A1*B4*C2*D3-A1*B4*C3*D2
-A2*B1*C3*D4+A2*B1*C4*D3+A2*B3*C1*D4-A2*B3*C4*D1-A2*B4*C1*D3+A2*B4*C3*D1
+A3*B1*C2*D4-A3*B1*C4*D2-A3*B2*C1*D4+A3*B2*C4*D1+A3*B4*C1*D2-A3*B4*C2*D1
-A4*B1*C2*D3+A4*B1*C3*D2+A4*B2*C1*D3-A4*B2*C3*D1-A4*B3*C1*D2+A4*B3*C2*D1)