[[_homogeneous, `class G`]]
Book solution method
Change of Variable, new dependent variable
Mathematica ✓
cpu = 527.297 (sec), leaf count = 142
Maple ✓
cpu = 0.107 (sec), leaf count = 39
DSolve[x*y'[x] == f[x^m*y[x]^n]*y[x],y[x],x]
Mathematica raw output
Solve[C[1] == Integrate[(n*f[K[1]^m*y[x]^n])/((m + n*f[K[1]^m*y[x]^n])*K[1]), {K
[1], 1, x}] + Integrate[-((n + (m + n*f[x^m*K[2]^n])*Integrate[(m*n^2*K[1]^(-1 +
m)*K[2]^(-1 + n)*Derivative[1][f][K[1]^m*K[2]^n])/(m + n*f[K[1]^m*K[2]^n])^2, {
K[1], 1, x}]*K[2])/((m + n*f[x^m*K[2]^n])*K[2])), {K[2], 1, y[x]}], y[x]]
Maple raw input
dsolve(x*diff(y(x),x) = y(x)*f(x^m*y(x)^n), y(x),'implicit')
Maple raw output
Int(1/(f(x^m*_a^n)*n+m)/_a,_a = _b .. y(x))-ln(x)/n-_C1 = 0