C Collection of code snippets by Arne Vajhøj 
C (from articles on eksperten.dk / vajhoej.dk written sometime between 2004 and now) 
      PROGRAM FP
      REAL*8 F
      EXTERNAL F
      DO 100 I=1,16
        WRITE(*,*) I,SOLVE(F,DBLE(I))
100   CONTINUE
      END
C
      REAL*8 FUNCTION F(A,X)
      REAL*8 A,X
      F=X**2-A
      RETURN
      END
C
      REAL*8 FUNCTION SOLVE(F,A)
      REAL*8 A
      REAL*8 F
      EXTERNAL F
      REAL*8 X,XN
      REAL*8 DIFF
      EXTERNAL DIFF
      XN=1
100   X=XN
      XN=X-F(A,X)/DIFF(F,A,X)
      IF(ABS(XN-X).GE.0.0000001) GOTO 100
      SOLVE=X
      RETURN
      END
C
      REAL*8 FUNCTION DIFF(F,A,X)
      REAL*8 A,X
      REAL*8 F
      EXTERNAL F
      REAL*8 DELTA
      PARAMETER(DELTA=0.0000001)
      DIFF=(F(A,X+DELTA)-F(A,X))/DELTA
      RETURN
      END
