Moorthy,
I have no experience with .net so am not able to advise on it's use.
My understanding of .net is that it is not suited to solution to large sets of equations, although the example size you have supplied is not large.
I did look at the code you supplied. It is not a style of code that I would use, as you have extensive use of GOTO and statement numbers.
Fortran 90 provides for CYCLE and EXIT in DO loops and IF () THEN ; ELSE constructs, which can assist with the flow of the code. However, if you prefer the use of GOTO and statement numbers, this code will still work, if the logic is correct. I changed SUBROUTINE DIRECTSOLUTIONSYMMATRIX to use some of these features (hopefully correctly) to give you an idea of a different coding approach. Others probably have different ideas that are also valid.
This should not be the source of your .net problem.
SUBROUTINE DIRECTSOLUTIONSYMMATRIX
USE globalmaster ! Inputs : NORDR, NSEQ(*), LCOL(*), LNXT(*), ITAG(*), V(*), CE(*)
INTEGER :: L, i,j,k ! variables not used KP, LK, IP, LN, LA, MIN, M,
real :: CF, SUM
! The following are not required
! KP=0
! LK=0
! IP=0
! LN=0
! LA=0
! MIN=0
! M=0
!
! L=0
! CF=0.
! SUM=0.
DO J = 1,NORDER
K = NSEQ(J)
CF = V(K)
V(K) = 0
L = LCOL(K)
DO WHILE (L > 0)
I = ITAG(L)
V(I) = V(I) + CE(L)*CF
L = LNXT(L)
END DO
END DO
DO J = (NORDER-1),1,-1
K = NSEQ(J)
SUM = V(K)
L = LCOL(K)
DO WHILE (L > 0)
I = ITAG(L)
IF ( I /= K ) SUM = SUM + CE(L)*V(I)
L = LNXT(L)
END DO
V(K) = SUM
END DO
DirectSolution = .true.
print*, 'Direction Solution just completed.....'
!!!
!!! print*, 'No. LCOL NOZE NSEQ'
!!! DO II = 1, (YMAT1SIZE) !IARRAYCOLSIZE
!!! WRITE(*,222) II,LCOL(II), NOZE(II),NSEQ(II)
!!! END DO
!!!
!!! PRINT*, 'YMAT2 MATRIX'
!!! PRINT*, 'II, ITAG, LNXT, CE'
!!! DO II = 1, (YMAT2SIZE)
!!! WRITE(*,223) II, ITAG(II), LNXT(II),CE(II)
!!! END DO
!!!
!!! 222 FORMAT(I2,' ',I3,' ',I3,' ', I3)
!!! 223 FORMAT(I2,' ',I3,' ',I3,' ',F8.2)
!!!
END SUBROUTINE DIRECTSOLUTIONSYMMATRIX