4.5.23 xy(x)=y(x)f(xmy(x)n)

ODE
xy(x)=y(x)f(xmy(x)n) ODE Classification

[[_homogeneous, `class G`]]

Book solution method
Change of Variable, new dependent variable

Mathematica
cpu = 527.297 (sec), leaf count = 142

Solve[c1=1y(x)K[2](nf(xmK[2]n)+m)(1xmn2K[1]m1K[2]n1f(K[1]mK[2]n)(nf(K[1]mK[2]n)+m)2dK[1])+nK[2](nf(xmK[2]n)+m)dK[2]+1xnf(y(x)nK[1]m)K[1](nf(y(x)nK[1]m)+m)dK[1],y(x)]

Maple
cpu = 0.107 (sec), leaf count = 39

{_by(x)1(f(xm_an)n+m)_ad_aln(x)n_C1=0} Mathematica raw input

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