#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]);
}