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

u = function('u',x)
DE = DE.subs({y:x*u,diff(y,x):diff(x*u,x)}) # substituting y/x as u
soln = desolve(DE,u)
soln = soln.simplify_full()
print 'Solution:';show(soln)