#define n 4
#include "stdio.h"
void main()
{float a[n][n] ,l[n][n],u[n][n],b,g,y[n],x[n],c,d;
int i,j, r,k,m;
for(i=0;i<n;i++)
for(j=0;j<n;j++)
scanf("%f",&a[i][j]);
for(i=0;i<n;i++)
scanf("%f",&y[i]);
printf("a[][]\n");
for(i=0;i<n;i++)
{for(j=0;j<n;j++)
printf("%f ",a[i][j]);
printf("\n");}
printf("\n");
for(i=0;i<n;i++)
{l[i][i]=1;
for(j=i+1;j<n;j++)
l[i][j]=0;}
for(i=1;i<n;i++)
for(j=0;j<i;j++)
u[i][j]=0;
for(j=0;j<n;j++)
u[0][j]=a[0][j];
for(i=1;i<n;i++)
l[i][0]=a[i][0]/u[0][0];
for(i=1;i<n;i++)
{for(j=i;j<n;j++)
{b=0;
for(r=0;r<i;r++)
{b+=l[i][r]*u[r][j];
u[i][j]=a[i][j]-b;}
}
k=i+1;
for(j=1;j<k;j++)
{g=0;
for(m=0;m<j;m++)
{g+=l[k][m]*u[m][j];
l[k][j]=(a[k][m+1]-g)/u[j][j];}
}
}
printf("u[][]\n");
for(i=0;i<n;i++)
{for(j=0;j<n;j++)
printf("%f ",u[i][j]);
printf("\n");}
printf("\n");
printf("l[][]\n");
for(i=0;i<n;i++)
{for(j=0;j<n;j++)
printf("%f ",l[i][j]);
printf("\n");}
for(i=1;i<n;i++)
{d=0;
for(j=0;j<i;j++)
d+=l[i][j]*y[j];
y[i]-=d;
}
x[n-1]=y[n-1]/u[n-1][n-1];
for(i=n-2;i>=0;i--)
{c=0;
for(j=n-1;j>i;j--)
c+=u[i][j]*x[j];
x[i]=(y[i]-c)/u[i][i];
}
for(i=0;i<n;i++)
printf("x[%d]=%f\n",i,x[i]);
}