✓ Mathematica : cpu = 0.0068773 (sec), leaf count = 30
DSolve[b*y[x] - (-a - b + b*x + a*y[x])*Derivative[1][y][x] + a*x*Derivative[1][y][x]^2 == 0,y[x],x]
✓ Maple : cpu = 0.056 (sec), leaf count = 72
dsolve(a*x*diff(y(x),x)^2-(a*y(x)+b*x-a-b)*diff(y(x),x)+b*y(x) = 0,y(x))