[_separable]
Book solution method
Separable ODE, Neither variable missing
Mathematica ✓
cpu = 0.0184982 (sec), leaf count = 25
Maple ✓
cpu = 0.011 (sec), leaf count = 23
DSolve[(1 + x)*y[x]^2 + x^2*(1 - y[x])*y'[x] == 0,y[x],x]
Mathematica raw output
{{y[x] -> -ProductLog[-(E^(x^(-1) - C[1])/x)]^(-1)}}
Maple raw input
dsolve(x^2*(1-y(x))*diff(y(x),x)+(1+x)*y(x)^2 = 0, y(x),'implicit')
Maple raw output
-1/x+ln(x)-1/y(x)-ln(y(x))+_C1 = 0