C C FILENAMES: CHARACTER*80 FILE2 C C LOGICAL UNIT NUMBERS: INTEGER LU2 PARAMETER (LU2=2) C C ARRAY DIMENSIONS: INTEGER MLE,MH,MSPINE PARAMETER (MLE=600,MH=MLE**2+1,MSPINE=MLE*(MLE+1)/2) C INTEGER ISP1(MSPINE),ISP2(MSPINE),ISP3(MSPINE) C C....................................................................... C NH=100 FILE2='NET.FS' WRITE(*,'(A)') *'+ENTER MAXIMUM F.S. SIZE (100), AND F.S. FILENAME (''NET.FS''): ' READ(*,*) NH,FILE2 IF(NH.GT.MH) THEN STOP 'ERROR: TOO LARGE FORWARD STAR.' END IF OPEN(LU2,FILE=FILE2) C NSPINE=0 DO 69 I1=1,NH DO 58 I2=0,I1 DO 57 I3=0,0 DO 10 J=2,I1 IF(MOD(I1,J).EQ.0.AND.MOD(I2,J).EQ.0 * .AND.MOD(I3,J).EQ.0) THEN GO TO 56 END IF 10 CONTINUE C C NEW SPINE NSPINE=NSPINE+1 IF(NSPINE.GT.MSPINE) THEN STOP 'ERROR: TOO MANY SPINES.' END IF ISP1(NSPINE)=I3 ISP2(NSPINE)=I2 ISP3(NSPINE)=I1 C 56 CONTINUE 57 CONTINUE 58 CONTINUE C WRITE(*,'(A,I7,2I8)') '+',I1,NSPINE WRITE(LU2,'(I3,I6,I7,E13.6)') I1,NSPINE WRITE(LU2,'(8(3I3,1X))') (ISP1(I),ISP2(I),ISP3(I),I=1,NSPINE) 69 CONTINUE WRITE(LU2,'(I3,I6,I7,E13.6)') 0,0 C STOP END C C======================================================================= C