lubksb(float ** a,int n,int * indx,float b[])1 void lubksb(float **a, int n, int *indx, float b[])
2 {
3 	int i,ii=0,ip,j;
4 	float sum;
5 
6 	for (i=1;i<=n;i++) {
7 		ip=indx[i];
8 		sum=b[ip];
9 		b[ip]=b[i];
10 		if (ii)
11 			for (j=ii;j<=i-1;j++) sum -= a[i][j]*b[j];
12 		else if (sum) ii=i;
13 		b[i]=sum;
14 	}
15 	for (i=n;i>=1;i--) {
16 		sum=b[i];
17 		for (j=i+1;j<=n;j++) sum -= a[i][j]*b[j];
18 		b[i]=sum/a[i][i];
19 	}
20 }
21 /* (C) Copr. 1986-92 Numerical Recipes Software 0!-"1. */
22