[[_homogeneous, `class G`], _rational, [_Abel, `2nd type`, `class B`]]
Book solution method
Exact equation, integrating factor
Mathematica ✓
cpu = 0.0385589 (sec), leaf count = 29
Maple ✓
cpu = 0.025 (sec), leaf count = 27
DSolve[(1 - x^2*y[x]^2)*y'[x] == y[x]^2*(1 + x*y[x]),y[x],x]
Mathematica raw output
{{y[x] -> -x^(-1)}, {y[x] -> -(ProductLog[-(x/E^C[1])]/x)}}
Maple raw input
dsolve((1-x^2*y(x)^2)*diff(y(x),x) = (1+x*y(x))*y(x)^2, y(x),'implicit')
Maple raw output
y(x) = -1/x, x+(-ln(y(x))-_C1)/y(x) = 0