4.11.7 y(x)(a2+b2y(x)+c2y(x))=a1+b1x+c1y(x)

ODE
y(x)(a2+b2y(x)+c2y(x))=a1+b1x+c1y(x) ODE Classification

[[_homogeneous, `class C`], _rational, [_Abel, `2nd type`, `class A`]]

Book solution method
Equation linear in the variables, y(x)=f(X1X2)

Mathematica
cpu = 1.4045 (sec), leaf count = 216

Solve[c12log((a2+(b2+c2)y(x))2((b2+c2)(a1+b1x+c1y(x))(a1(b2+c2)a2c1+b1x(b2+c2))(a2+(b2+c2)y(x))2b1b2b1c2)(a1(b2+c2)a2c1+b1x(b2+c2))2)2c12tan1(2a1(b2+c2)+a2c12b1b2x2b1c2xc1(b2+c2)y(x)c14b1(b2+c2)+c12c12(a2+(b2+c2)y(x)))4b1(b2+c2)+c12c12+2c12log(a1(b2+c2)a2c1+b1x(b2+c2))2b1c1(b2+c2)2b1(b2+c2)=0,y(x)]

Maple
cpu = 0.043 (sec), leaf count = 228

{12ln(b1(b2+c2)(b1(b2+c2)2(y(x))2+((b2+c2)(xc12a2)b1+c1(a1b2+a1c2a2c1))y(x)+x2(b2+c2)b12+(2a1b2x+2a1c2xa2c1xa22)b1+a1(a1b2+a1c2a2c1))((b2+c2)a1+x(b2+c2)b1a2c1)2)c1Artanh(2b1(b2+c2)2y(x)+(b2+c2)(xc12a2)b1+c1(a1b2+a1c2a2c1)(b2+c2)a1+x(b2+c2)b1a2c114b1b2+4b1c2+c12)14b1b2+4b1c2+c12ln((b2+c2)a1+x(b2+c2)b1a2c1)_C1=0} Mathematica raw input

DSolve[(a2 + b2*y[x] + c2*y[x])*y'[x] == a1 + b1*x + c1*y[x],y[x],x]

Mathematica raw output

Solve[((-2*c1^2*ArcTan[(a2*c1 - 2*a1*(b2 + c2) - 2*b1*b2*x - 2*b1*c2*x - c1*(b2 
+ c2)*y[x])/(c1*Sqrt[-((c1^2 + 4*b1*(b2 + c2))/c1^2)]*(a2 + (b2 + c2)*y[x]))])/S
qrt[-((c1^2 + 4*b1*(b2 + c2))/c1^2)] - 2*b1*(b2 + c2)*C[1] + 2*c1^2*Log[-(a2*c1)
 + a1*(b2 + c2) + b1*(b2 + c2)*x] + c1^2*Log[((a2 + (b2 + c2)*y[x])^2*(-(b1*b2) 
- b1*c2 + ((b2 + c2)*(-(a2*c1) + a1*(b2 + c2) + b1*(b2 + c2)*x)*(a1 + b1*x + c1*
y[x]))/(a2 + (b2 + c2)*y[x])^2))/(-(a2*c1) + a1*(b2 + c2) + b1*(b2 + c2)*x)^2])/
(2*b1*(b2 + c2)) == 0, y[x]]

Maple raw input

dsolve((a2+b2*y(x)+c2*y(x))*diff(y(x),x) = a1+b1*x+c1*y(x), y(x),'implicit')

Maple raw output

-1/2*ln(-(b2+c2)*b1*(-b1*(b2+c2)^2*y(x)^2+((b2+c2)*(c1*x-2*a2)*b1+c1*(a1*b2+a1*c
2-a2*c1))*y(x)+x^2*(b2+c2)*b1^2+(2*a1*b2*x+2*a1*c2*x-a2*c1*x-a2^2)*b1+a1*(a1*b2+
a1*c2-a2*c1))/((b2+c2)*a1+x*(b2+c2)*b1-a2*c1)^2)-1/(4*b1*b2+4*b1*c2+c1^2)^(1/2)*
arctanh((-2*b1*(b2+c2)^2*y(x)+(b2+c2)*(c1*x-2*a2)*b1+c1*(a1*b2+a1*c2-a2*c1))/(4*
b1*b2+4*b1*c2+c1^2)^(1/2)/((b2+c2)*a1+x*(b2+c2)*b1-a2*c1))*c1-ln((b2+c2)*a1+x*(b
2+c2)*b1-a2*c1)-_C1 = 0