ODE
\[ (y(x)+x) y'(x)-y(x)+x=0 \] ODE Classification
[[_homogeneous, `class A`], _rational, [_Abel, `2nd type`, `class A`]]
Book solution method
Homogeneous equation
Mathematica ✓
cpu = 0.190054 (sec), leaf count = 31
\[\text {Solve}\left [\frac {1}{2} \log \left (\frac {y(x)^2}{x^2}+1\right )+\tan ^{-1}\left (\frac {y(x)}{x}\right )+\log (x)=c_1,y(x)\right ]\]
Maple ✓
cpu = 0.099 (sec), leaf count = 24
\[\left [y \left (x \right ) = \tan \left (\RootOf \left (2 \textit {\_Z} +\ln \left (\frac {1}{\cos \left (\textit {\_Z} \right )^{2}}\right )+2 \ln \left (x \right )+2 \textit {\_C1} \right )\right ) x\right ]\] Mathematica raw input
DSolve[x - y[x] + (x + y[x])*y'[x] == 0,y[x],x]
Mathematica raw output
Solve[ArcTan[y[x]/x] + Log[x] + Log[1 + y[x]^2/x^2]/2 == C[1], y[x]]
Maple raw input
dsolve((x+y(x))*diff(y(x),x)+x-y(x) = 0, y(x))
Maple raw output
[y(x) = tan(RootOf(2*_Z+ln(1/cos(_Z)^2)+2*ln(x)+2*_C1))*x]