##### 4.5.23 $$x y'(x)=y(x) f\left (x^m y(x)^n\right )$$

ODE
$x y'(x)=y(x) f\left (x^m y(x)^n\right )$ ODE Classiﬁcation

[[_homogeneous, class G]]

Book solution method
Change of Variable, new dependent variable

Mathematica
cpu = 0.448453 (sec), leaf count = 131

$\text {Solve}\left [c_1=\int _1^{y(x)}\left (-\frac {n}{\left (m+n f\left (x^m K[2]^n\right )\right ) K[2]}-\int _1^x\frac {m n^2 K[1]^{m-1} K[2]^{n-1} f'\left (K[1]^m K[2]^n\right )}{\left (m+n f\left (K[1]^m K[2]^n\right )\right )^2}dK[1]\right )dK[2]+\int _1^x\frac {n f\left (K[1]^m y(x)^n\right )}{\left (m+n f\left (K[1]^m y(x)^n\right )\right ) K[1]}dK[1],y(x)\right ]$

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

$\left [\int _{\textit {\_b}}^{y \left (x \right )}\frac {1}{\left (f \left (x^{m} \textit {\_a}^{n}\right ) n +m \right ) \textit {\_a}}d \textit {\_a} -\frac {\ln \left (x \right )}{n}-\textit {\_C1} = 0\right ]$ Mathematica raw input

DSolve[x*y'[x] == f[x^m*y[x]^n]*y[x],y[x],x]

Mathematica raw output

Solve[C[1] == Inactive[Integrate][(n*f[K[1]^m*y[x]^n])/((m + n*f[K[1]^m*y[x]^n])
*K[1]), {K[1], 1, x}] + Inactive[Integrate][-(n/((m + n*f[x^m*K[2]^n])*K[2])) -
Inactive[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], 1, y[x]}], y[x]]

Maple raw input

dsolve(x*diff(y(x),x) = y(x)*f(x^m*y(x)^n), y(x))

Maple raw output

[Int(1/(f(x^m*_a^n)*n+m)/_a,_a = _b .. y(x))-ln(x)/n-_C1 = 0]