void gaussianElinination (float a[][5],float b[],int n){
int i,j, k;
float factor;
for(i=0;i<n-1;i++){
for(j=i+1;j<n;j++){
factor=a{j][i]/a[i][i];
for(k=i;k<=n;k++){
a[j][k]-=factor*a[i][k];
}
b[j]-=factor*b[i];
}
}
for(i=n-1;i>=0;i--){
b[i]/=a[i][i];
a[i]{/=a[i][i;
for(j=i-1;j>=0;j--){
b[j]-=a[j][i]*b[i];
a[j][i]/=a{i][i];
}
}
}
int main() {
float a[4][5]={ {2,3,4,-5,-6},
{6,7,-8,9,96},
{10,11,12,13,312}
{14,15,16,17,416}};
float b[4]={-6,96,312,416};
int n=4;
int i;
gaussianElinination(a,b,n),printf ("Solution:\n");
for (i=0;i<n;i++){
printf("x%d=%f\n",i+1,b[i]);
}
return 0;
}