ODE
\[ \left (x^2+1\right ) \left (y(x)^2+1\right ) y'(x)+2 x y(x) (1-y(x))^2=0 \] ODE Classification
[_separable]
Book solution method
Separable ODE, Neither variable missing
Mathematica ✓
cpu = 0.434975 (sec), leaf count = 30
\[\left \{\left \{y(x)\to \text {InverseFunction}\left [\log (\text {$\#$1})-\frac {2}{\text {$\#$1}-1}\& \right ]\left [-\log \left (x^2+1\right )+c_1\right ]\right \}\right \}\]
Maple ✓
cpu = 0.199 (sec), leaf count = 40
\[[y \left (x \right ) = {\mathrm e}^{\RootOf \left (\ln \left (x^{2}+1\right ) {\mathrm e}^{\textit {\_Z}}+2 \,{\mathrm e}^{\textit {\_Z}} \textit {\_C1} +{\mathrm e}^{\textit {\_Z}} \textit {\_Z} -\ln \left (x^{2}+1\right )-2 \textit {\_C1} -\textit {\_Z} -2\right )}]\] Mathematica raw input
DSolve[2*x*(1 - y[x])^2*y[x] + (1 + x^2)*(1 + y[x]^2)*y'[x] == 0,y[x],x]
Mathematica raw output
{{y[x] -> InverseFunction[Log[#1] - 2/(-1 + #1) & ][C[1] - Log[1 + x^2]]}}
Maple raw input
dsolve((x^2+1)*(1+y(x)^2)*diff(y(x),x)+2*x*y(x)*(1-y(x))^2 = 0, y(x))
Maple raw output
[y(x) = exp(RootOf(ln(x^2+1)*exp(_Z)+2*exp(_Z)*_C1+exp(_Z)*_Z-ln(x^2+1)-2*_C1-_Z
-2))]