[_separable]
Book solution method
Separable ODE, Neither variable missing
Mathematica ✓
cpu = 0.0177155 (sec), leaf count = 31
Maple ✓
cpu = 0.01 (sec), leaf count = 22
DSolve[x*(a + y[x])*y'[x] == (A + B*x)*y[x],y[x],x]
Mathematica raw output
{{y[x] -> a*ProductLog[(E^((B*x + C[1])/a)*x^(A/a))/a]}}
Maple raw input
dsolve(x*(a+y(x))*diff(y(x),x) = y(x)*(B*x+A), y(x),'implicit')
Maple raw output
B*x+A*ln(x)-y(x)-a*ln(y(x))+_C1 = 0