SUBROUTINE TRIDAG(A,B,C,R,N) implicit double precision (a-h,o-z) PARAMETER(NMAX=500) DIMENSION GAM(NMAX),A(N),B(N),C(N),R(N) c IF (B(1).EQ.0.) then c write(6,*) 'b(1)=0' c PAUSE c endif BET=B(1) R(1)=R(1)/B(1) DO 11 J=2,N GAM(J)=C(J-1)/BET BET=B(J)-A(J)*GAM(J) c IF(BET.EQ.0.)PAUSE R(J)=(R(J)-A(J)*R(J-1))/BET 11 CONTINUE DO 12 J=N-1,1,-1 R(J)=R(J)-GAM(J+1)*R(J+1) 12 CONTINUE RETURN END