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

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

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

SageDays/Kreyszig-1.3-24 (last edited 2010-08-09 14:06:28 by PrashantAgrawal)