[[_homogeneous, `class G`], _rational]
Book solution method
Change of variable
Mathematica ✓
cpu = 0.345739 (sec), leaf count = 132
Maple ✓
cpu = 1.575 (sec), leaf count = 161
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