x = var('x')
y = function('y',x) # define y a function of x
DE = diff(y,x) - (1-2*y-4*x)/(1+y+2*x)
print 'DE:';show(DE)

v = function('v',x)
DE = DE.subs({y:v-2*x,diff(y,x):diff(v,x)-2}) # substituting y/x as u
print 'DE substituted:';show(DE)

soln = desolve(DE,v)
soln = soln.subs({v:y+2*x}) # getting soln back in terms of y and x only
sol = solve(soln,y)
print 'Solution:';show(sol)

SageDays/Kreyszig-1.3-25 (last edited 2010-08-09 14:07:35 by PrashantAgrawal)