4.16.19 f(x)(y(x)a)(y(x)b)+y(x)2=0

ODE
f(x)(y(x)a)(y(x)b)+y(x)2=0 ODE Classification

[[_1st_order, `_with_symmetry_[F(x),G(x)*y+H(x)]`]]

Book solution method
Binomial equation (y)m+F(x)G(y)=0

Mathematica
cpu = 0.239171 (sec), leaf count = 243

{{y(x)14(a2(ec1+1xif(K[1])dK[1])+2a(1+bec1+1xif(K[1])dK[1])ec11xif(K[1])dK[1](1+bec1+1xif(K[1])dK[1])2)},{y(x)14(a2(ec1+1xif(K[2])dK[2])+2a(1+bec1+1xif(K[2])dK[2])ec11xif(K[2])dK[2](1+bec1+1xif(K[2])dK[2])2)}}

Maple
cpu = 0.396 (sec), leaf count = 212

{1(y(x)a)(y(x)b)ln(a2b2+y(x)+(y(x))2+(ab)y(x)+ab)1y(x)a1y(x)b+x1f(_a)(ay(x))(by(x))1y(x)a1y(x)bd_a+_C1=0,1(y(x)a)(y(x)b)ln(a2b2+y(x)+(y(x))2+(ab)y(x)+ab)1y(x)a1y(x)b+x1f(_a)(ay(x))(by(x))1y(x)a1y(x)bd_a+_C1=0} Mathematica raw input

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

Mathematica raw output

{{y[x] -> (-(a^2*E^(C[1] + Integrate[(-I)*Sqrt[f[K[1]]], {K[1], 1, x}])) - E^(-C
[1] - Integrate[(-I)*Sqrt[f[K[1]]], {K[1], 1, x}])*(-1 + b*E^(C[1] + Integrate[(
-I)*Sqrt[f[K[1]]], {K[1], 1, x}]))^2 + 2*a*(1 + b*E^(C[1] + Integrate[(-I)*Sqrt[
f[K[1]]], {K[1], 1, x}])))/4}, {y[x] -> (-(a^2*E^(C[1] + Integrate[I*Sqrt[f[K[2]
]], {K[2], 1, x}])) - E^(-C[1] - Integrate[I*Sqrt[f[K[2]]], {K[2], 1, x}])*(-1 +
 b*E^(C[1] + Integrate[I*Sqrt[f[K[2]]], {K[2], 1, x}]))^2 + 2*a*(1 + b*E^(C[1] +
 Integrate[I*Sqrt[f[K[2]]], {K[2], 1, x}])))/4}}

Maple raw input

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

Maple raw output

((y(x)-a)*(y(x)-b))^(1/2)/(y(x)-a)^(1/2)/(y(x)-b)^(1/2)*ln(-1/2*a-1/2*b+y(x)+(y(
x)^2+(-a-b)*y(x)+a*b)^(1/2))+Intat(-(-f(_a)*(a-y(x))*(b-y(x)))^(1/2)/(y(x)-a)^(1
/2)/(y(x)-b)^(1/2),_a = x)+_C1 = 0, ((y(x)-a)*(y(x)-b))^(1/2)/(y(x)-a)^(1/2)/(y(
x)-b)^(1/2)*ln(-1/2*a-1/2*b+y(x)+(y(x)^2+(-a-b)*y(x)+a*b)^(1/2))+Intat((-f(_a)*(
a-y(x))*(b-y(x)))^(1/2)/(y(x)-a)^(1/2)/(y(x)-b)^(1/2),_a = x)+_C1 = 0