PROGRAM newt IMPLICIT NONE REAL :: x = 0.0, d REAL, PARAMETER :: toleranssi = 1e3*EPSILON(x) INTEGER :: i, max_iter = 20 WRITE (*,'(A,F9.6)') 'x:n arvo alussa:', x DO i = 1, max_iter d = (EXP(x) + x - 5)/(EXP(x) + 1) x = x - d WRITE (*,'(A,I3,A,F9.6)') 'i:', i, ', x:n arvo:', x IF (ABS(d) <= toleranssi*ABS(x)) EXIT END DO END PROGRAM newt