[[_homogeneous, `class G`], _rational]
Book solution method
Change of variable
Mathematica ✓
cpu = 0.515414 (sec), leaf count = 1921
Maple ✓
cpu = 0.095 (sec), leaf count = 195
DSolve[x*y[x]^2 - (1 + 2*x^2*y[x])*y'[x] + x^3*y'[x]^2 == 0,y[x],x]
Mathematica raw output
{{y[x] -> Root[-32*E^(12*C[1]) + 1024*x^12 - 384*E^(12*C[1])*x^2*#1 - 1536*E^(12
*C[1])*x^4*#1^2 - 2176*E^(12*C[1])*x^6*#1^3 - 576*E^(12*C[1])*x^8*#1^4 + 4*E^(24
*C[1])*#1^6 + 36*E^(24*C[1])*x^2*#1^7 + 81*E^(24*C[1])*x^4*#1^8 & , 1]}, {y[x] -
> Root[-32*E^(12*C[1]) + 1024*x^12 - 384*E^(12*C[1])*x^2*#1 - 1536*E^(12*C[1])*x
^4*#1^2 - 2176*E^(12*C[1])*x^6*#1^3 - 576*E^(12*C[1])*x^8*#1^4 + 4*E^(24*C[1])*#
1^6 + 36*E^(24*C[1])*x^2*#1^7 + 81*E^(24*C[1])*x^4*#1^8 & , 2]}, {y[x] -> Root[-
32*E^(12*C[1]) + 1024*x^12 - 384*E^(12*C[1])*x^2*#1 - 1536*E^(12*C[1])*x^4*#1^2
- 2176*E^(12*C[1])*x^6*#1^3 - 576*E^(12*C[1])*x^8*#1^4 + 4*E^(24*C[1])*#1^6 + 36
*E^(24*C[1])*x^2*#1^7 + 81*E^(24*C[1])*x^4*#1^8 & , 3]}, {y[x] -> Root[-32*E^(12
*C[1]) + 1024*x^12 - 384*E^(12*C[1])*x^2*#1 - 1536*E^(12*C[1])*x^4*#1^2 - 2176*E
^(12*C[1])*x^6*#1^3 - 576*E^(12*C[1])*x^8*#1^4 + 4*E^(24*C[1])*#1^6 + 36*E^(24*C
[1])*x^2*#1^7 + 81*E^(24*C[1])*x^4*#1^8 & , 4]}, {y[x] -> Root[-32*E^(12*C[1]) +
1024*x^12 - 384*E^(12*C[1])*x^2*#1 - 1536*E^(12*C[1])*x^4*#1^2 - 2176*E^(12*C[1
])*x^6*#1^3 - 576*E^(12*C[1])*x^8*#1^4 + 4*E^(24*C[1])*#1^6 + 36*E^(24*C[1])*x^2
*#1^7 + 81*E^(24*C[1])*x^4*#1^8 & , 5]}, {y[x] -> Root[-32*E^(12*C[1]) + 1024*x^
12 - 384*E^(12*C[1])*x^2*#1 - 1536*E^(12*C[1])*x^4*#1^2 - 2176*E^(12*C[1])*x^6*#
1^3 - 576*E^(12*C[1])*x^8*#1^4 + 4*E^(24*C[1])*#1^6 + 36*E^(24*C[1])*x^2*#1^7 +
81*E^(24*C[1])*x^4*#1^8 & , 6]}, {y[x] -> Root[-32*E^(12*C[1]) + 1024*x^12 - 384
*E^(12*C[1])*x^2*#1 - 1536*E^(12*C[1])*x^4*#1^2 - 2176*E^(12*C[1])*x^6*#1^3 - 57
6*E^(12*C[1])*x^8*#1^4 + 4*E^(24*C[1])*#1^6 + 36*E^(24*C[1])*x^2*#1^7 + 81*E^(24
*C[1])*x^4*#1^8 & , 7]}, {y[x] -> Root[-32*E^(12*C[1]) + 1024*x^12 - 384*E^(12*C
[1])*x^2*#1 - 1536*E^(12*C[1])*x^4*#1^2 - 2176*E^(12*C[1])*x^6*#1^3 - 576*E^(12*
C[1])*x^8*#1^4 + 4*E^(24*C[1])*#1^6 + 36*E^(24*C[1])*x^2*#1^7 + 81*E^(24*C[1])*x
^4*#1^8 & , 8]}, {y[x] -> Root[-32*E^(12*C[1]) + x^12 - 384*E^(12*C[1])*x^2*#1 -
1536*E^(12*C[1])*x^4*#1^2 - 2176*E^(12*C[1])*x^6*#1^3 - 576*E^(12*C[1])*x^8*#1^
4 + 4096*E^(24*C[1])*#1^6 + 36864*E^(24*C[1])*x^2*#1^7 + 82944*E^(24*C[1])*x^4*#
1^8 & , 1]}, {y[x] -> Root[-32*E^(12*C[1]) + x^12 - 384*E^(12*C[1])*x^2*#1 - 153
6*E^(12*C[1])*x^4*#1^2 - 2176*E^(12*C[1])*x^6*#1^3 - 576*E^(12*C[1])*x^8*#1^4 +
4096*E^(24*C[1])*#1^6 + 36864*E^(24*C[1])*x^2*#1^7 + 82944*E^(24*C[1])*x^4*#1^8
& , 2]}, {y[x] -> Root[-32*E^(12*C[1]) + x^12 - 384*E^(12*C[1])*x^2*#1 - 1536*E^
(12*C[1])*x^4*#1^2 - 2176*E^(12*C[1])*x^6*#1^3 - 576*E^(12*C[1])*x^8*#1^4 + 4096
*E^(24*C[1])*#1^6 + 36864*E^(24*C[1])*x^2*#1^7 + 82944*E^(24*C[1])*x^4*#1^8 & ,
3]}, {y[x] -> Root[-32*E^(12*C[1]) + x^12 - 384*E^(12*C[1])*x^2*#1 - 1536*E^(12*
C[1])*x^4*#1^2 - 2176*E^(12*C[1])*x^6*#1^3 - 576*E^(12*C[1])*x^8*#1^4 + 4096*E^(
24*C[1])*#1^6 + 36864*E^(24*C[1])*x^2*#1^7 + 82944*E^(24*C[1])*x^4*#1^8 & , 4]},
{y[x] -> Root[-32*E^(12*C[1]) + x^12 - 384*E^(12*C[1])*x^2*#1 - 1536*E^(12*C[1]
)*x^4*#1^2 - 2176*E^(12*C[1])*x^6*#1^3 - 576*E^(12*C[1])*x^8*#1^4 + 4096*E^(24*C
[1])*#1^6 + 36864*E^(24*C[1])*x^2*#1^7 + 82944*E^(24*C[1])*x^4*#1^8 & , 5]}, {y[
x] -> Root[-32*E^(12*C[1]) + x^12 - 384*E^(12*C[1])*x^2*#1 - 1536*E^(12*C[1])*x^
4*#1^2 - 2176*E^(12*C[1])*x^6*#1^3 - 576*E^(12*C[1])*x^8*#1^4 + 4096*E^(24*C[1])
*#1^6 + 36864*E^(24*C[1])*x^2*#1^7 + 82944*E^(24*C[1])*x^4*#1^8 & , 6]}, {y[x] -
> Root[-32*E^(12*C[1]) + x^12 - 384*E^(12*C[1])*x^2*#1 - 1536*E^(12*C[1])*x^4*#1
^2 - 2176*E^(12*C[1])*x^6*#1^3 - 576*E^(12*C[1])*x^8*#1^4 + 4096*E^(24*C[1])*#1^
6 + 36864*E^(24*C[1])*x^2*#1^7 + 82944*E^(24*C[1])*x^4*#1^8 & , 7]}, {y[x] -> Ro
ot[-32*E^(12*C[1]) + x^12 - 384*E^(12*C[1])*x^2*#1 - 1536*E^(12*C[1])*x^4*#1^2 -
2176*E^(12*C[1])*x^6*#1^3 - 576*E^(12*C[1])*x^8*#1^4 + 4096*E^(24*C[1])*#1^6 +
36864*E^(24*C[1])*x^2*#1^7 + 82944*E^(24*C[1])*x^4*#1^8 & , 8]}}
Maple raw input
dsolve(x^3*diff(y(x),x)^2-(1+2*x^2*y(x))*diff(y(x),x)+x*y(x)^2 = 0, y(x),'implicit')
Maple raw output
ln(x)-_C1-1/12*ln(9*x^2*y(x)+2)-1/4*ln(x^2*y(x))-1/4*ln(-1+(4*x^2*y(x)+1)^(1/2))
+1/4*ln((4*x^2*y(x)+1)^(1/2)+1)-1/12*ln(3*(4*x^2*y(x)+1)^(1/2)+1)+1/12*ln(3*(4*x
^2*y(x)+1)^(1/2)-1) = 0, ln(x)-_C1+1/4*ln(-1+(4*x^2*y(x)+1)^(1/2))-1/4*ln((4*x^2
*y(x)+1)^(1/2)+1)+1/12*ln(3*(4*x^2*y(x)+1)^(1/2)+1)-1/12*ln(3*(4*x^2*y(x)+1)^(1/
2)-1)-1/12*ln(9*x^2*y(x)+2)-1/4*ln(x^2*y(x)) = 0