9000  REM  *****  CDETER  *****  MATHEMATICS PROGRAM  *****
9001  REM  *****  VERSION 1  *****  7/31/69  *****
9002  REM  SOLVES COMPLEX DETERMINANTS
9003  DIM A[23,23],B[23,23]
9004  PRINT "COMPLEX DETERMINANT EVALUATOR"
9005  PRINT 
9006  READ N
9007  FOR I=1 TO N
9008  FOR J=1 TO N
9009  READ A[I,J],B[I,J]
9010  PRINT A[I,J];B[I,J];
9011  NEXT J
9012  PRINT 
9013  PRINT 
9014  NEXT I
9015  LET D1=1
9016  LET D2=0
9017  LET I1=1
9018  LET I3=I1
9019  LET S=ABS(A[I1,I1])+ABS(B[I1,I1])
9020  FOR I=I1 TO N
9021  LET T=ABS(A[I,I1])+ABS(B[I,I1])
9022  IF S >= T THEN 9025
9023  LET I3=I
9024  LET S=T
9025  NEXT I
9026  IF I3=I1 THEN 9035
9027  FOR J=1 TO N
9028  LET S=-A[I1,J]
9029  LET A[I1,J]=A[I3,J]
9030  LET A[I3,J]=S
9031  LET S1=-B[I1,J]
9032  LET B[I1,J]=B[I3,J]
9033  LET B[I3,J]=S1
9034  NEXT J
9035  LET I3=I1+1
9036  FOR I=I3 TO N
9037  LET S1=A[I1,I1]*A[I1,I1]+B[I1,I1]*B[I1,I1]
9038  LET S=(A[I,I1]*A[I1,I1]+B[I,I1]*B[I1,I1])/S1
9039  LET B[I,I1]=(A[I1,I1]*B[I,I1]-A[I,I1]*B[I1,I1])/S1
9040  LET A[I,I1]=S
9041  NEXT I
9042  LET J2=I1-1
9043  IF J2=0 THEN 9050
9044  FOR J=I3 TO N
9045  FOR I=1 TO J2
9046  LET A[I1,J]=A[I1,J]-A[I1,I]*A[I,J]+B[I1,I]*B[I,J]
9047  LET B[I1,J]=B[I1,J]-B[I1,I]*A[I,J]-A[I1,I]*B[I,J]
9048  NEXT I
9049  NEXT J
9050  LET J2=I1
9051  LET I1=I1+1
9052  FOR I=I1 TO N
9053  FOR J=1 TO J2
9054  LET A[I,I1]=A[I,I1]-A[I,J]*A[J,I1]+B[I,J]*B[J,I1]
9055  LET B[I,I1]=B[I,I1]-B[I,J]*A[J,I1]-A[I,J]*B[J,I1]
9056  NEXT J
9057  NEXT I
9058  IF I1#N THEN 9018
9059  LET I3=1
9060  LET J2=INT(N/2)
9061  IF N=2*J2 THEN 9065
9062  LET I3=0
9063  LET D1=A[N,N]
9064  LET D2=B[N,N]
9065  FOR I=1 TO J2
9066  LET J=N-I+I3
9067  LET S=A[I,I]*A[J,J]-B[I,I]*B[J,J]
9068  LET S1=A[I,I]*B[J,J]+A[J,J]*B[I,I]
9069  LET T=D1*S-D2*S1
9070  LET D2=D2*S+D1*S1
9071  LET D1=T
9072  NEXT I
9073  PRINT 
9074  PRINT "REAL C","IMAGINARY C"
9075  PRINT 
9076  PRINT D1,D2
9077  STOP 
9900  DATA 2
9901  DATA 1,1,0,0
9902  DATA 0,0,1,-1
9999  END 
