4.3.6 \(g(x) (f(x)-y(x)) \sqrt {(y(x)-a) (y(x)-b)}+y'(x)=0\)

ODE
\[ g(x) (f(x)-y(x)) \sqrt {(y(x)-a) (y(x)-b)}+y'(x)=0 \] ODE Classification

[`y=_G(x,y')`]

Book solution method
Change of Variable, new dependent variable

Mathematica
cpu = 2.98454 (sec), leaf count = 0 , could not solve

DSolve[g[x]*(f[x] - y[x])*Sqrt[(-a + y[x])*(-b + y[x])] + Derivative[1][y][x] == 0, y[x], x]

Maple
cpu = 0.755 (sec), leaf count = 0 , could not solve

dsolve(diff(y(x),x)+(f(x)-y(x))*g(x)*((y(x)-a)*(y(x)-b))^(1/2) = 0, y(x),'implicit')

Mathematica raw input

DSolve[g[x]*(f[x] - y[x])*Sqrt[(-a + y[x])*(-b + y[x])] + y'[x] == 0,y[x],x]

Mathematica raw output

DSolve[g[x]*(f[x] - y[x])*Sqrt[(-a + y[x])*(-b + y[x])] + Derivative[1][y][x] ==
 0, y[x], x]

Maple raw input

dsolve(diff(y(x),x)+(f(x)-y(x))*g(x)*((y(x)-a)*(y(x)-b))^(1/2) = 0, y(x),'implicit')

Maple raw output

dsolve(diff(y(x),x)+(f(x)-y(x))*g(x)*((y(x)-a)*(y(x)-b))^(1/2) = 0, y(x),'implic
it')