I can compile but when I run I get this error "forrtl: severe (40): recursive I/O operation, unit -1, file unknown" if I set n = 29 or more... Can anyone help with where I might have gone wrong? Thanks.
 PROGRAM  SOLUTION
IMPLICIT NONE
! Variable Declaration
INTEGER  :: i
REAL  :: dt
DOUBLE PRECISION  :: st(0:9)
DOUBLE PRECISION  :: stmean(0:9)
DOUBLE PRECISION  :: first_argument
DOUBLE PRECISION  :: second_argument
DOUBLE PRECISION  :: lci, uci, mean
REAL  :: exp1, n
REAL  :: r, segma
! Get inputs
WRITE(*,*) 'Please enter number of trials: '
READ(*,*) n
WRITE(*,*)
dt=1.0
segma=0.2
r=0.1
! For n Trials
st(0)=35.0
stmean(0)=35.0
mean = stmean(0)
PRINT *, 'For ', n ,' Trials'
PRINT *,'          1     ',st(0)
! Calculate results
DO i=0, n-2
    first_argument = r-(1/2*(segma*segma))*dt
    exp1 = -(1/2)*(i*i)
    second_argument = segma*sqrt(dt)*((1/sqrt(2*3.1416))*exp(exp1))
    st(i+1) = st(i) * exp(first_argument+second_argument)
    IF(st(i+1)<=20) THEN
       stmean(i+1) = 0.0
       st(i+1) = st(i)
       else
       stmean(i+1) = st(i+1)
    ENDIF
    PRINT *,i+2,'     ',stmean(i+1)
    mean = mean+stmean(i+1)
END DO
! Output results
uci = mean+(1.96*(segma/sqrt(n)))
lci = mean-(1.96*(segma/sqrt(n)))
PRINT *,'95% Confidence Interval for ', n, ' trials is between ', lci, ' and ', uci
PRINT *,''
END PROGRAM SOLUTION