PROGRAM D9R7 C Driver for routine ZBRENT EXTERNAL BESSJ0 PARAMETER(N=100,NBMAX=20,X1=1.0,X2=50.0) DIMENSION XB1(NBMAX),XB2(NBMAX) NB=NBMAX CALL ZBRAK(BESSJ0,X1,X2,N,XB1,XB2,NB) WRITE(*,'(/1X,A)') 'Roots of BESSJ0:' WRITE(*,'(/1X,T19,A,T31,A/)') 'x','F(x)' DO 11 I=1,NB TOL=(1.0E-6)*(XB1(I)+XB2(I))/2.0 ROOT=ZBRENT(BESSJ0,XB1(I),XB2(I),TOL) WRITE(*,'(1X,A,I2,2X,F12.6,E16.4)') 'Root ',I,ROOT,BESSJ0(ROOT) 11 CONTINUE END