[[_homogeneous, `class C`], _rational, _dAlembert]
Book solution method
Clairaut’s equation and related types,
Mathematica ✓
cpu = 2.83238 (sec), leaf count = 323
Maple ✓
cpu = 0.034 (sec), leaf count = 196
DSolve[a + b*x - y[x] - b*y[x] + x*y'[x]^2 == 0,y[x],x]
Mathematica raw output
{Solve[((1 + b)*(-2*b*ArcTanh[(b*Sqrt[x])/Sqrt[-a - b*x + y[x] + b*y[x]]] + Log[
a + (1 + b)*(x - y[x])] - b*Log[a + (1 + b)*(b*x - y[x])] - (2*ArcTan[(Sqrt[x]*S
qrt[-a + (1 + b)*y[x]])/(Sqrt[a - (1 + b)*y[x]]*Sqrt[-a - b*x + (1 + b)*y[x]])]*
Sqrt[-a + (1 + b)*y[x]])/Sqrt[a - (1 + b)*y[x]]))/(1 - b^2) == C[1], y[x]], Solv
e[((1 + b)*(2*b*ArcTanh[(b*Sqrt[x])/Sqrt[-a - b*x + y[x] + b*y[x]]] + Log[a + (1
+ b)*(x - y[x])] - b*Log[a + (1 + b)*(b*x - y[x])] + (2*ArcTan[(Sqrt[x]*Sqrt[-a
+ (1 + b)*y[x]])/(Sqrt[a - (1 + b)*y[x]]*Sqrt[-a - b*x + (1 + b)*y[x]])]*Sqrt[-
a + (1 + b)*y[x]])/Sqrt[a - (1 + b)*y[x]]))/(1 - b^2) == C[1], y[x]]}
Maple raw input
dsolve(x*diff(y(x),x)^2+a+b*x-y(x)-b*y(x) = 0, y(x),'implicit')
Maple raw output
[x(_T) = ((_T-b)^(-b^2/(b+1)/(-1+b)))^2/((_T-1)^(-b/(b+1)/(-1+b)))^2*((_T-b)^(-b
/(b+1)/(-1+b)))^2/((_T-1)^(-1/(b+1)/(-1+b)))^2*_C1, y(_T) = (_T^2+b)*((_T-b)^(1/
(-b-1)*b^2/(-1+b)))^2*((_T-b)^(1/(-b-1)*b/(-1+b)))^2*_C1/(b+1)/((_T-1)^(1/(-b-1)
*b/(-1+b)))^2/((_T-1)^(1/(-b-1)/(-1+b)))^2+a/(b+1)]