using System;
public class Test
{
const int n = 3;
public static void Main()
{
double[,] A = {{1,2,4,0},
{2,1,5,1},
{1,4,2,2}};
for(var j = 0; j < n; j++){
for(var i = j+1; i < n; i++){
var m = A[i,j] / A[j,j];
for(var k = j; k < n+1; k++){
A[i,k] -= m*A[j,k];
}
}
}
for(var i = n-1; i >= 0; i--){
for(var j = i+1; j < n+1; j++){
A[i,j] /= A[i,i];
}
A[i,i] = 1;
for(var j = i - 1; j >= 0; j-- ){
var m = A[j,i] / A[i,i];
for(var k = 0; k < n+1; k++){
A[j,k] -= m*A[i,k];
}
}
}
for(var i = 0; i < n; i++){
for(var j = 0; j < n+1; j++){
Console.Write(A[i,j]+" ");
}
Console.WriteLine();
}
}
}
dXNpbmcgU3lzdGVtOwoKcHVibGljIGNsYXNzIFRlc3QKewoJY29uc3QgaW50IG4gPSAzOwoJcHVibGljIHN0YXRpYyB2b2lkIE1haW4oKQoJewoJCWRvdWJsZVssXSBBID0ge3sxLDIsNCwwfSwKCQkJCSAgICAgICB7MiwxLDUsMX0sCgkJCQkgICAgICAgezEsNCwyLDJ9fTsKCQkKCQlmb3IodmFyIGogPSAwOyBqIDwgbjsgaisrKXsgCgkJCWZvcih2YXIgaSA9IGorMTsgaSA8IG47IGkrKyl7CgkJCQl2YXIgbSA9IEFbaSxqXSAvIEFbaixqXTsKCQkJCWZvcih2YXIgayA9IGo7IGsgPCBuKzE7IGsrKyl7CgkJCQkJQVtpLGtdIC09IG0qQVtqLGtdOyAKCQkJCX0KCQkJfQoJCX0KCQkKCQlmb3IodmFyIGkgPSBuLTE7IGkgPj0gMDsgaS0tKXsgCgkJCWZvcih2YXIgaiA9IGkrMTsgaiA8IG4rMTsgaisrKXsKCQkJCUFbaSxqXSAvPSBBW2ksaV07CgkJCX0KCQkJQVtpLGldID0gMTsKCQkJZm9yKHZhciBqID0gaSAtIDE7IGogPj0gMDsgai0tICl7CgkJCQl2YXIgbSA9IEFbaixpXSAvIEFbaSxpXTsKCQkJCWZvcih2YXIgayA9IDA7IGsgPCBuKzE7IGsrKyl7CgkJCQkJQVtqLGtdIC09IG0qQVtpLGtdOyAKCQkJCX0KCQkJfQoJCX0KCQkKCQlmb3IodmFyIGkgPSAwOyBpIDwgbjsgaSsrKXsKCQkJZm9yKHZhciBqID0gMDsgaiA8IG4rMTsgaisrKXsKCQkJCUNvbnNvbGUuV3JpdGUoQVtpLGpdKyIgIik7CgkJCX0KCQkJQ29uc29sZS5Xcml0ZUxpbmUoKTsKCQl9Cgl9Cn0=