{ решение системы 3-х уравнений с тремя неизвестными }
{ ------------------------------------------------------------------------ }
{ решение уравнений вида: }
{ |a1*x + b1*y + c1*z = d1| }
{ |a2*x + b2*y + c2*z = d2| }
{ |a3*x + b3*y + c3*z = d3| }
{ }
{ метод решения: }
{ |d1 b1 c1| |a1 d1 c1| |a1 b1 d1| }
{ |d2 b2 c2| |a2 d2 c2| |a2 b2 d2| }
{ |d3 b3 c3| |a3 d3 c3| |a3 b3 d3| }
{ x = ---------- y = ---------- z = ---------- }
{ |a1 b1 c1| |a1 b1 c1| |a1 b1 c1| }
{ |a2 b2 c2| |a2 b2 c2| |a2 b2 c2| }
{ |a3 b3 c3| |a3 b3 c3| |a3 b3 c3| }
{ }
{ выражаем определители третьего порядка: }
{ e := (a1*b2*c3+b1*c2*a3+c1*a2*b3-a3*b2*c1-b3*c2*a1-c3*a2*b1); }
{ ex := (d1*b2*c3+b1*c2*d3+c1*d2*b3-d3*b2*c1-b3*c2*d1-c3*d2*b1); }
{ ey := (a1*d2*c3+d1*c2*a3+c1*a2*d3-a3*d2*c1-d3*c2*a1-c3*a2*d1); }
{ ez := (a1*b2*d3+b1*d2*a3+d1*a2*b3-a3*b2*d1-b3*d2*a1-d3*a2*b1); }
{ x = ex/e }
{ y = ey/e }
{ z = ez/e }
{ ------------------------------------------------------------------------ }
var a1, a2, a3: real;
b1, b2, b3: real;
c1, c2, c3: real;
d1, d2, d3: real;
x, y, z, e, ex, ey, ez: real;
begin
writeln('Введите коэффициенты 1-го уравнения: a1, b1, c1, d1:');
readln(a1, b1, c1, d1);
writeln('Введите коэффициенты 2-го уравнения: a2, b2, c2, d2:');
readln(a2, b2, c2, d2);
writeln('Введите коэффициенты 3-го уравнения: a3, b3, c3, d3:');
readln(a3, b3, c3, d3);
e := (a1*b2*c3+b1*c2*a3+c1*a2*b3-a3*b2*c1-b3*c2*a1-c3*a2*b1);
ex := (d1*b2*c3+b1*c2*d3+c1*d2*b3-d3*b2*c1-b3*c2*d1-c3*d2*b1);
ey := (a1*d2*c3+d1*c2*a3+c1*a2*d3-a3*d2*c1-d3*c2*a1-c3*a2*d1);
ez := (a1*b2*d3+b1*d2*a3+d1*a2*b3-a3*b2*d1-b3*d2*a1-d3*a2*b1);
if (e = 0) and ((ex = 0) or (ey = 0) or (ez = 0)) then
writeln('Бесконечное множество решений')
else if (e <> 0) and ((ex = 0) or (ey = 0) or (ez = 0)) then
writeln('Нет решений')
else begin
x := ex / e;
y := ey / e;
z := ez / e;
writeln('x = ', x);
writeln('y = ', y);
writeln('z = ', z);
end;
end.