I'm trying to make a program that can approximate a differential equation via the Euler's method. Here is my program : Program diff implicit none Real :: t_0, x_0, t_f, k_j, h Real :: t,x Integer :: n,j Write(*,*)'Chose t_0 and x_0' Read(*,*)t_0, x_0 Write(*,*)'Chose t_f' Read(*,*)t_f Write(*,*)'Chose n' Read(*,*)n h=(t_f-t_0)/n Do j=1,n k_j=f(t,x) x=x+h*k_j t=t+h Write(*,*)t,x end do Contains Real Function f(t,x) real, intent(in) :: x,t f=2*x end function end program Here I am trying to approximate the solutions of the following differential equation : [tex]x'=2x[/tex] and [tex]x(0)=1[/tex] in the interval [0,1], using a step h of 0.1. So in my program, I input t_0=0, X_0=1, t_f=1 and n=10. I know where is the problem of my program. It's in the "do" part. And more exactly here I think "k_j=f(t,x)". For example, the first term should be k_1=f(0,1) so it must be equal to 2. But the program doesn't do it. It doesn't understand that f(t,x) should be evaluated in t=0, x=1 for the first term. How can I fix this? I'm thinking about another "do" part, inside of the one I already have... But can't figure it out. Thanks for your help.