ODE
\[ x y(x)^3 y'(x)=\left (1-x^2\right ) \left (y(x)^2+1\right ) \] ODE Classification
[_separable]
Book solution method
Separable ODE, Neither variable missing
Mathematica ✓
cpu = 0.405102 (sec), leaf count = 61
\[\left \{\left \{y(x)\to -\sqrt {-1-W\left (-\frac {e^{x^2-1-2 c_1}}{x^2}\right )}\right \},\left \{y(x)\to \sqrt {-1-W\left (-\frac {e^{x^2-1-2 c_1}}{x^2}\right )}\right \}\right \}\]
Maple ✓
cpu = 0.311 (sec), leaf count = 29
\[\left [\frac {x^{2}}{2}-\ln \left (x \right )+\frac {y \left (x \right )^{2}}{2}-\frac {\ln \left (1+y \left (x \right )^{2}\right )}{2}+\textit {\_C1} = 0\right ]\] Mathematica raw input
DSolve[x*y[x]^3*y'[x] == (1 - x^2)*(1 + y[x]^2),y[x],x]
Mathematica raw output
{{y[x] -> -Sqrt[-1 - ProductLog[-(E^(-1 + x^2 - 2*C[1])/x^2)]]}, {y[x] -> Sqrt[-
1 - ProductLog[-(E^(-1 + x^2 - 2*C[1])/x^2)]]}}
Maple raw input
dsolve(x*y(x)^3*diff(y(x),x) = (-x^2+1)*(1+y(x)^2), y(x))
Maple raw output
[1/2*x^2-ln(x)+1/2*y(x)^2-1/2*ln(1+y(x)^2)+_C1 = 0]