3REM SOLVIT: SIMULTANEOUS LINEAR EQUATIONS USING 4REM GAUSSIAN REDUCTION 106REM THIS PROGRAM WAS WRITTEN BY E. J. WHITE 108REM CONVERTED TO BASIC PLUS BY LINDA RUFF 150PRINT'SOLVIT SOLVES SIMULTANEOUS EQUATIONS USING GAUSSIAN' 160 PRINT'REDUCTION WITH POSITIONING FOR SIZE. THE FIRST INPUT' 170PRINT'IS THE NUMBER OF EQUATIONS IN THE SET. THIS IS FOLLOWED' 180PRINT'BY THE COEFFICIENTS FED IN BY ROWS INCLUDING THE RIGHT' 190PRINT'SIDE (THE DRIVING FUNCTIONS).' 300DIMA(20),Y(20,21):X=0 330INPUT'NUMBER OF EQUATIONS TO BE SOLVED',R 340MATA=ZER(R+1):MATY=ZER(R,R+1) 350PRINT'NOW GIVE THE COEFFICIENTS, ROW WISE (EACH ROW FOLLOWED BY A LINE FEED)' 360MATINPUTY(R,R+1) 420GOSUB990 430FORQ=1TOR-1:B=Y(Q,Q):D=0 460FORI=Q+1TOR:G=Y(I,Q):IFABS(G)<=ABS(B)THEN560 500X=X:D=1:M=I:B=G 540REM D IS 1 IF ROW INTERCHANGE IS REQUIRED 550REM M IS THE ROW WITH THE LARGEST ELEMENT 560NEXTI 570IFD<>1THEN650 580REM INTERCHANGE ROWS IF NECESSARY 590FORI=QTOR+1:C=Y(M,I) 610REM C IS AN INTERMEDIATE VARIABLE 620Y(M,I)=Y(Q,I):Y(Q,I)=C:NEXTI 650X=0 660FORP=Q+1TOR:IFY(P,Q)=0THEN710 670F=Y(P,Q)/Y(Q,Q):FORN=Q+1TOR+1:Y(P,N)=Y(P,N)-(F*Y(Q,N)) 710NEXTN:NEXTP:NEXTQ 750REM CALCULATE THE ANSWERS USING BACK SUBSTITUTION 770FORI=RTO1STEP-1:A1=0 800A1=A1+Y(I,J)*A(J)FORJ=I+1TOR 830A(I)=(Y(I,R+1)-A1)/Y(I,I):NEXTI 841PRINT:PRINT:PRINT 850PRINT'V1,V2, ETC. STAND FOR VARIABLE 1,2, ETC.' 860PRINT:PRINT'V'I'=',A(I),CHR$(10);CHR$(13)FORI=1TOR 910PRINT:PRINT:PRINT:GOTO9999 990PRINT'THE INPUT MATRIX FOLLOWS' 991FORX=1TOR:PRINT'ROW ='X 1010PRINTY(X,Z);FORZ=1TOR+1 1040PRINT:NEXTX:PRINT:RETURN 9999END