100 REM ***** CROUT1 ***** MATHEMATICS PROGRAM ***** 110 REM **** VERSION 1A **** PROJECT DELTA :8/72** 115 REM SOLVES LINEAR EQUATIONS USING THE CROUT ALGORITHM 120 INPUT"HAVE YOU INPUT YOUR DATA, YES OR NO?" A$ 122 IF A$="YES" THEN 130 ELSE 124 124 PRINT TAB(5);"ENTER DATA IN LINES 910-920" 126 PRINT TAB(5);"910 DATA XX,YY,...ZZ" 127 PRINT TAB(5);"911 DATA --,......." 128 PRINT TAB(5);"THEN TYPE RUN":GOTO930 130 DIM A(10,10) 140 DIM B(10,10) 150 READ N,M 160 FOR I=1 TO N 170 FOR J=1 TO N 180 READ A(I,J) 190 NEXT J 200 NEXT I 210 FOR J=1 TO M 220 FOR I=1 TO N 230 READ B(I,J) 240 NEXT I 250 NEXT J 260 REM NOW WE START THE ELIMINATIONS. 270 FOR I=1 TO N 280 REM HERE WE LOOK FOR THE LARGEST ELEMENT IN A COLUMN. 290 LET X=-1 300 FOR K=I TO N 310 ! IF ABS(A(K,I)) <= X THEN 9024 320 LET Q=K 330 LET X=ABS(A(K,I)) 340 NEXT K 350 IF X>0 THEN 380 360 PRINT "MATRIX OF COEFFICIENTS IS SINGULAR....." 370 STOP 380 REM HERE WE START THE INTERCHANGE, IF NEEDED. 390 IF I=1 THEN 500 400 FOR J=1 TO N 410 LET T=A(I,J) 420 LET A(I,J)=A(Q,J) 430 LET A(Q,J)=T 440 NEXT J 450 FOR J=1 TO M 460 LET T=B(I,J) 470 LET B(I,J)=B(Q,J) 480 LET B(Q,J)=T 490 NEXT J 500 REM NOW WE ELIMINATE ON THAT ONE ROW..... 510 FOR J=1 TO N 520 IF I= J THEN 630 620 LET A(I,J)=-A(I,J)/A(I,I) 630 NEXT J 640 NEXT I 650 REM NOW WE HAVE THE REDUCED LEFT HAND SIDE.. NOW STARTS THE RIGHT. 660 FOR J=1 TO M 670 FOR I=1 TO N 680 LET S=0 690 FOR K=1 TO I-1 700 LET S=S+A(I,K)*B(K,J) 710 NEXT K 720 LET B(I,J)=-(B(I,J)+S)/A(I,I) 730 NEXT I 740 FOR I=N TO 1 STEP -1 750 LET S=0 760 FOR K=I+1 TO N 770 LET S=S+A(I,K)*B(K,J) 780 NEXT K 790 LET B(I,J)=-B(I,J)+S 800 NEXT I 810 NEXT J 820 REM NOW WE START THE PRINTOUT... 830 FOR J=1 TO M 840 PRINT 850 PRINT "ANSWER SET ";J 860 FOR I=1 TO N 870 PRINT B(I,J), 880 NEXT I 890 NEXT J:PRINT 900 GOTO930 910 DATA 4,2,1,1,1,1,5,1,2,1,1,-6,9,-1,3,2,1,-1,100,220,190,150 911 DATA 100,160,-130,130 920 DATA 100,160,-130,130 930 END