
DIM M3x3(3,3)
FUNCTION Matrix3x3
 SHARED M3x3()
 d1=M3x3(1,1)*M3x3(2,2)*M3x3(3,3)
 d2=M3x3(2,1)*M3x3(3,2)*M3x3(1,3)
 d3=M3x3(3,1)*M3x3(1,2)*M3x3(2,3)
 d4=M3x3(3,1)*M3x3(2,2)*M3x3(1,3)
 d5=M3x3(2,1)*M3x3(1,2)*M3x3(3,3)
 d6=M3x3(1,1)*M3x3(3,2)*M3x3(2,3)
 Matrix3x3=d1+d2+d3-d4-d5-d6
END FUNCTION

DIM M4x4(4,4)
FUNCTION Matrix4x4
 SHARED M4x4(),M3x3()
 de=0
 FOR i=1 TO 4
  xt=i
  yt=4
  cy=0
  FOR j=1 TO 4
   cx=0
   IF j<>yt
    cy=cy+1        
    FOR k=1 TO 4
     IF k<>xt THEN cx=cx+1:M3x3(cx,cy)=M4x4(k,j)
    NEXT k
   END IF
  NEXT j
  smt=-1
  IF (i AND 1) THEN smt=1
  dep=Matrix3x3*smt*M4x4(xt,yt)
  de=de+dep
 NEXT i
 Matrix4x4=de
END FUNCTION

DIM Ko(4,4),Tn(4),So(4)
SUB Solve4x4
 SHARED Ko(),Tn(),So(),M4x4()
 FOR i=0 TO 4
  FOR j=1 TO 4
   FOR k=1 TO 4
    v=Ko(j,k)
    IF j=i THEN v=Tn(k)
    M4x4(j,k)=v
   NEXT k
  NEXT j

'PRINT "Sol";i
'FOR b=1 TO 4
' FOR a=1 TO 4
'  PRINT M4x4(a,b);
' NEXT a
' PRINT
'NEXT b
'PRINT

 So(i)=Matrix4x4
 NEXT i
 IF So(0)<>0
  FOR i=1 TO 4
   So(i)=So(i)/So(0)
  NEXT i
 END IF
END SUB 



 