def runge_kutta_two(a,b,N,alpha):
f = lambda x,y: 1.0 + (y/x) + (y/x)^2
g = lambda x: x*tan(ln(x))
h = (b-a)/N
t = a
omega = alpha
w = []
w.append((0,omega, n(abs(g(1)-omega))))
for i in range(1,N):
omega = omega + h * f(t + (h/2), omega + (h/t)*f(t,omega))
w.append(( i, omega, n(abs(g(1)-omega)) ) )
t = a + i * h
return w