4.21.4 a2x+y(x)3(y(x))+xy(x)2y(x)2=0

ODE
a2x+y(x)3(y(x))+xy(x)2y(x)2=0 ODE Classification

[[_homogeneous, `class G`], _rational]

Book solution method
Change of variable

Mathematica
cpu = 0.345739 (sec), leaf count = 132

{{y(x)2a2ec1+12ec1x2},{y(x)2a2ec1+12ec1x2},{y(x)4a2ec1x2+ec12},{y(x)4a2ec1x2+ec12}}

Maple
cpu = 1.575 (sec), leaf count = 161

{1(ln(1x(2(y(x))4+2(y(x))4(y(x))44a2x2))(y(x))2+(_C1ln(x))(y(x))42(y(x))2ln(y(x)))1(y(x))4=0,1(ln(1x(2(y(x))4+2(y(x))4(y(x))44a2x2))(y(x))2+(_C1+ln(x))(y(x))42(y(x))2ln(y(x)))1(y(x))4=0,(y(x))44a2x2=0} Mathematica raw input

DSolve[a^2*x - y[x]^3*y'[x] + x*y[x]^2*y'[x]^2 == 0,y[x],x]

Mathematica raw output

{{y[x] -> -Sqrt[2*a^2*E^C[1] + x^2/(2*E^C[1])]}, {y[x] -> Sqrt[2*a^2*E^C[1] + x^
2/(2*E^C[1])]}, {y[x] -> -(Sqrt[E^C[1] + (4*a^2*x^2)/E^C[1]]/Sqrt[2])}, {y[x] ->
 Sqrt[E^C[1] + (4*a^2*x^2)/E^C[1]]/Sqrt[2]}}

Maple raw input

dsolve(x*y(x)^2*diff(y(x),x)^2-y(x)^3*diff(y(x),x)+a^2*x = 0, y(x),'implicit')

Maple raw output

y(x)^4-4*a^2*x^2 = 0, -(ln((2*y(x)^4+2*(y(x)^4)^(1/2)*(y(x)^4-4*a^2*x^2)^(1/2))/
x)*y(x)^2+(-_C1+ln(x))*(y(x)^4)^(1/2)-2*y(x)^2*ln(y(x)))/(y(x)^4)^(1/2) = 0, (ln
((2*y(x)^4+2*(y(x)^4)^(1/2)*(y(x)^4-4*a^2*x^2)^(1/2))/x)*y(x)^2+(_C1-ln(x))*(y(x
)^4)^(1/2)-2*y(x)^2*ln(y(x)))/(y(x)^4)^(1/2) = 0