SUBROUTINE SYSTEMA ( MXNA , MXWA , N , IPD , A , C )
IMPLICIT REAL*8 ( A-H , O-Z )
DIMENSION A(MXNA,MXWA), C(MXNA)
C------- FULL BANDWIDTH = 2 * IPD + 1
N1 = N - 1
IPU = IPD + 1
NIP = N - IPD
DO K = 1 , N1
IP = IPD
IF ( K .GT. NIP ) IP = N - K
IS = K + 1
IE = K + IP
DO I = IS , IE
JS = IPD - ( I - IS )
JE = JS + IP
P = A(I,JS) / A(K,IPU)
IF ( P .NE. 0. ) THEN
DO J = JS , JE
L = J - JS + IPU
A(I,J) = A(I,J) - P * A(K,L)
END DO
C(I) = C(I) - P * C(K)
END IF
END DO
END DO
C------- SOLUTION OF X(N)
C(N) = C(N) / A(N,IPU)
C------- BACK SUBSTITUTION
JS = IPU + 1
DO K = 1 , N1
I = N1 - K + 1
NI = N - I
IF ( NI .GT. IPD ) NI = IPD
JE = IPU + NI
T = 0.
DO J = JS , JE
L = J - JS + I + 1
T = T + A(I,J) * C(L)
END DO
C(I) = ( C(I) - T ) / A(I,IPU)
END DO
RETURN
END