program Askisi_2 implicit none real :: a,b,c,F,Ftonos,xk,xkplinena integer :: i !Input write(*,*)'Eisagete A,B kai akriveia' read(*,*)a,b,c !Checking if root exists if ((F(a) * F(b)) < 0) then !initialising xkplinena = (a + b) / 2 xk = xkplinena - F(xkplinena) / Ftonos(xkplinena) i = 1 !Methodos newton raphson do while (abs(xk - xkplinena) > c) xkplinena = xk xk = xkplinena - F(xkplinena) / Ftonos(xkplinena) i = i + 1 !counting loops enddo !printing results write(*,*)'Riza : ',xk write(*,*)'Found after:',i, ' loops' write(*,*)c else !no root in space [a,b] write(*,*)'Den yparxei riza' end if end program !------------------------------------------ real function F(x) real :: x F = exp(x)-2*x-1 end function real function Ftonos(x) real :: x Ftonos = exp(x)-2 end function