1. The problem statement, all variables and given/known data Write a program to simulate motion of simple harmonic oscillator. Initial conditions: Let ω = 1, x(t=0) = 1, v(t=0) = 0. Integrate over 30 seconds in intervals of 0.05s. 2. Relevant equations δ2x / δt2 = -ω2x As set of 2 coupled ODE's; x' = v, v' = -w2x 3. The attempt at a solution When I printed out the results, i noticed I was getting larger and larger ith numbers of v each time I ran. I am obtaining a graph that represents SHO for the first half a wavelength. Basically, I'm not sure where my error is coming from. I've not included the DISLIN part of the script as this isn;t where the problem is arising from. PROGRAM eulershm IMPLICIT NONE INTEGER, PARAMETER :: n = 600 INTEGER :: i = 1 REAL, DIMENSION(n):: x, v, t REAL, PARAMETER :: dt = 0.05, tmax = 30, w = 1 v = 0 x = 1 DO WHILE (t(i).LE.tmax) CALL evalF(v(i), v(i+1), x(i), x(i+1), t(i), t(i+1), w, dt) i = i+1 END DO END PROGRAM eulershm SUBROUTINE evalF(v1, v2, x1, x2, t1, t2, w1, tau) IMPLICIT NONE REAL : v1, v2, x1, x2, t1, t2 REAL :: w1, tau x2 = x1 + v1*tau v2 = v1 - (w1**2)*tau t2 = t1 + tau END SUBROUTINE evalF Many thanks to whoever can help.