if(det!=0)
{
for(i=1;i<=n;i++)
printf("[%d]=%f\n",i,x[i]);
printf("\n");
}
}
int solve(a,x)
double a[n+1][n+2],x[n+1];
{
int i,j,k,r;
double c;
for(k=1;k<=n;k++)
{
r=k;
for(i=k;i<=n;i++)
if(fabs(a[i][k])>fabs(a[r][k]))
r=i;
if(fabs(a[r][k])+1.0==1.0)
{
printf("\ndet=0 fail!");
return 0;
}
if(r!=k)
for(j=k;j<=n+1;j++)
{
c=a[k][j]; a[k][j]=a[r][j]; a[r][j]=c;
}
for(i=k+1;i<=n;i++)
{
c=a[i][k]/a[k][k];
for(j=k+1;j<=n+1;j++)
a[i][j]=a[i][j]-c*a[k][j];
}
}
if(fabs(a[n][n])+1.0==1.0)
{
printf("\n det=0. fail!");
return (0);
}
for(k=n;k>=1;k--)
{
x[k]=a[k][n+1];
for(j=k+1;j<=n;j++)
x[k]=x[k]-a[k][j]*x[j];
x[k]=x[k]/a[k][k];
}
return (1);
}