9000  REM  *****  CROUT1  *****  MATHEMATICS PROGRAM  *****
9001  REM  *****  VERSION 1  *****  7/31/69  *****
9002  REM  SOLVES LINEAR EQUATIONS USING THE CROUT ALGORITHM
9003  DIM A[10,10]
9004  DIM B[10,10]
9005  READ N,M
9006  FOR I=1 TO N
9007  FOR J=1 TO N
9008  READ A[I,J]
9009  NEXT J
9010  NEXT I
9011  FOR J=1 TO M
9012  FOR I=1 TO N
9013  READ B[I,J]
9014  NEXT I
9015  NEXT J
9016  REM  NOW WE START THE ELIMINATIONS.
9017  FOR I=1 TO N
9018  REM  HERE WE LOOK FOR THE LARGEST ELEMENT IN A COLUMN.
9019  LET X=-1
9020  FOR K=I TO N
9021  IF ABS(A[K,I]) <= X THEN 9024
9022  LET Q=K
9023  LET X=ABS(A[K,I])
9024  NEXT K
9025  IF X>0 THEN 9028
9026  PRINT "MATRIX OF COEFFICIENTS IS SINGULAR....."
9027  STOP 
9028  REM  HERE WE START THE INTERCHANGE, IF NEEDED.
9029  IF I=Q THEN 9040
9030  FOR J=1 TO N
9031  LET T=A[I,J]
9032  LET A[I,J]=A[Q,J]
9033  LET A[Q,J]=T
9034  NEXT J
9035  FOR J=1 TO M
9036  LET T=B[I,J]
9037  LET B[I,J]=B[Q,J]
9038  LET B[Q,J]=T
9039  NEXT J
9040  REM NOW WE ELIMINATE ON THAT ONE ROW.......
9041  FOR J=1 TO N
9042  IF I<J THEN 9045
9043  LET M1=J-1
9044  GOTO 9046
9045  LET M1=I-1
9046  LET S=0
9047  FOR K=1 TO M1
9048  LET S=S+A[I,K]*A[K,J]
9049  NEXT K
9050  LET A[I,J]=A[I,J]+S
9051  IF I >= J THEN 9053
9052  LET A[I,J]=-A[I,J]/A[I,I]
9053  NEXT J
9054  NEXT I
9055  REM NOW WE HAVE THE REDUCED LEFT HAND SIDE..  NOW STARTS THE RIGHT.
9056  FOR J=1 TO M
9057  FOR I=1 TO N
9058  LET S=0
9059  FOR K=1 TO I-1
9060  LET S=S+A[I,K]*B[K,J]
9061  NEXT K
9062  LET B[I,J]=-(B[I,J]+S)/A[I,I]
9063  NEXT I
9064  FOR I=N TO 1 STEP -1
9065  LET S=0
9066  FOR K=I+1 TO N
9067  LET S=S+A[I,K]*B[K,J]
9068  NEXT K
9069  LET B[I,J]=-B[I,J]+S
9070  NEXT I
9071  NEXT J
9072  REM NOW WE START THE PRINTOUT.....
9073  FOR J=1 TO M
9074  PRINT 
9075  PRINT "ANSWER SET  ";J
9076  FOR I=1 TO N
9077  PRINT B[I,J],
9078  NEXT I
9079  NEXT J
9080  STOP 
9900  DATA 4,2,1,1,1,1,5,1,2,1,1,-6,9,-1,3,2,1,-1,100,220,190,150
9901  DATA 100,160,-130,130
9999  END 
