int main () {
float AI[5][10]={
{3,2,4,0,1,0,0,0},
{2,3,2,1,0,1,0,0},
{4,2,5,2,0,0,1,0},
{0,1,2,10,0,0,0,1}
};
float a;
for (int k=0;k<3;k++){
for (int j=k+1;j<4;j++){
if(AI[j][k]!=0){
a=AI[j][k];
for(int i=0;i<9;i++){
AI[j][i]-=a/AI[k][k]*AI[k][i];
}
}
}
}
for(int k=2;k>=0;k--){
for(int j=k;j>=0;j--){
if(AI[j][k]!=0){
a=AI[j][k+1];
for(int i=0;i<8;i++){
AI[j][i]-=a/AI[k+1][k+1]*AI[k+1][i];
}
}
}
}
for(int k=2;k>=0;k--){
for(int j=k;j>0;j--){
if(AI[j][k]!=0){
a=AI[j][k+1];
for(int i=0;i<8;i++){
AI[j][i]-=a/AI[k+1][k+1]*AI[k+1][i];
}
}
}
}
for(int j=0;j<4;j++){
a=AI[j][j];
for(int i=0;i<8;i++){
AI[j][i]/=a;
if(fabs(AI[j][i])<1e-9){
AI[j][i]=0.0;
}
printf("%.6f ",AI[j][i]);
}
printf("\n");
}
return 0;
}