[_rational]
Book solution method
Change of Variable, new dependent variable
Mathematica ✓
cpu = 3.35184 (sec), leaf count = 106
Maple ✓
cpu = 0.183 (sec), leaf count = 25
DSolve[y[x]*(1 + y[x]) + y[x]^2*(x + y[x])^2 + (x + 2*y[x] + y[x]^2)*y'[x] == 0,y[x],x]
Mathematica raw output
{{y[x] -> -(-1 + x^2 - x*C[1] + Sqrt[4*(x - C[1]) + (1 - x^2 + x*C[1])^2])/(2*(x
- C[1]))}, {y[x] -> (1 - x^2 + x*C[1] + Sqrt[4*(x - C[1]) + (1 - x^2 + x*C[1])^
2])/(2*(x - C[1]))}}
Maple raw input
dsolve((x+2*y(x)+y(x)^2)*diff(y(x),x)+y(x)*(1+y(x))+(x+y(x))^2*y(x)^2 = 0, y(x),'implicit')
Maple raw output
_C1+1/(x+y(x))-x+1/y(x)/(x+y(x)) = 0