4.18.18 aby(x)+bx+xy(x)2y(x)=0

ODE
aby(x)+bx+xy(x)2y(x)=0 ODE Classification

[[_homogeneous, `class C`], _rational, _dAlembert]

Book solution method
Clairaut’s equation and related types, f(yxy,y)=0

Mathematica
cpu = 2.83238 (sec), leaf count = 323

{Solve[(b+1)(log(a+(b+1)(xy(x)))blog(a+(b+1)(bxy(x)))2(b+1)y(x)atan1(x(b+1)y(x)aa(b+1)y(x)a+(b+1)y(x)bx)a(b+1)y(x)2btanh1(bxa+by(x)bx+y(x)))1b2=c1,y(x)],Solve[(b+1)(log(a+(b+1)(xy(x)))blog(a+(b+1)(bxy(x)))+2(b+1)y(x)atan1(x(b+1)y(x)aa(b+1)y(x)a+(b+1)y(x)bx)a(b+1)y(x)+2btanh1(bxa+by(x)bx+y(x)))1b2=c1,y(x)]}

Maple
cpu = 0.034 (sec), leaf count = 196

{[x(_T)=_C1((_Tb)b2(b+1)(1+b))2((_Tb)b(b+1)(1+b))2((_T1)b(b+1)(1+b))2((_T1)1(b+1)(1+b))2,y(_T)=(_T2+b)_C1b+1((_Tb)b2(b1)(1+b))2((_Tb)b(b1)(1+b))2((_T1)b(b1)(1+b))2((_T1)1(b1)(1+b))2+ab+1]} Mathematica raw input

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)]