2.19.2 Problem 2

2.19.2.1 Solved using first_order_ode_riccati
2.19.2.2 Solved using first_order_ode_riccati_by_guessing_particular_solution
2.19.2.3 Maple
2.19.2.4 Mathematica
2.19.2.5 Sympy

Internal problem ID [13450]
Book : Handbook of exact solutions for ordinary differential equations. By Polyanin and Zaitsev. Second edition
Section : Chapter 1, section 1.2. Riccati Equation. subsection 1.2.8-1. Equations containing arbitrary functions (but not containing their derivatives).
Problem number : 2
Date solved : Sunday, January 18, 2026 at 08:19:51 PM
CAS classification : [_Riccati]

2.19.2.1 Solved using first_order_ode_riccati

2.045 (sec)

Entering first order ode riccati solver

\begin{align*} y^{\prime }&=f \left (x \right ) y^{2}-a y-a b -b^{2} f \left (x \right ) \\ \end{align*}
In canonical form the ODE is
\begin{align*} y' &= F(x,y)\\ &= f \left (x \right ) y^{2}-a y-a b -b^{2} f \left (x \right ) \end{align*}

This is a Riccati ODE. Comparing the ODE to solve

\[ y' = f \left (x \right ) y^{2}-a y-a b -b^{2} f \left (x \right ) \]
With Riccati ODE standard form
\[ y' = f_0(x)+ f_1(x)y+f_2(x)y^{2} \]
Shows that \(f_0(x)=-b^{2} f \left (x \right )-a b\), \(f_1(x)=-a\) and \(f_2(x)=f \left (x \right )\). Let
\begin{align*} y &= \frac {-u'}{f_2 u} \\ &= \frac {-u'}{u f \left (x \right )} \tag {1} \end{align*}

Using the above substitution in the given ODE results (after some simplification) in a second order ODE to solve for \(u(x)\) which is

\begin{align*} f_2 u''(x) -\left ( f_2' + f_1 f_2 \right ) u'(x) + f_2^2 f_0 u(x) &= 0 \tag {2} \end{align*}

But

\begin{align*} f_2' &=f^{\prime }\left (x \right )\\ f_1 f_2 &=-a f \left (x \right )\\ f_2^2 f_0 &=f \left (x \right )^{2} \left (-b^{2} f \left (x \right )-a b \right ) \end{align*}

Substituting the above terms back in equation (2) gives

\[ f \left (x \right ) u^{\prime \prime }\left (x \right )-\left (f^{\prime }\left (x \right )-a f \left (x \right )\right ) u^{\prime }\left (x \right )+f \left (x \right )^{2} \left (-b^{2} f \left (x \right )-a b \right ) u \left (x \right ) = 0 \]
Unable to solve. Will ask Maple to solve this ode now.

The solution for \(u \left (x \right )\) is

\begin{equation} \tag{3} u \left (x \right ) = {\mathrm e}^{\int \frac {\left (\int -f \left (x \right ) {\mathrm e}^{\int \left (-2 f \left (x \right ) b -a \right )d x}d x {\mathrm e}^{\int \left (2 f \left (x \right ) b +a \right )d x} b +c_1 \,{\mathrm e}^{\int \left (2 f \left (x \right ) b +a \right )d x} b -1\right ) {\mathrm e}^{\int \left (-2 f \left (x \right ) b -a \right )d x} f \left (x \right )}{c_1 +\int -f \left (x \right ) {\mathrm e}^{\int \left (-2 f \left (x \right ) b -a \right )d x}d x}d x} c_2 \end{equation}
Taking derivative gives
\begin{equation} \tag{4} u^{\prime }\left (x \right ) = \frac {\left (\int -f \left (x \right ) {\mathrm e}^{\int \left (-2 f \left (x \right ) b -a \right )d x}d x {\mathrm e}^{\int \left (2 f \left (x \right ) b +a \right )d x} b +c_1 \,{\mathrm e}^{\int \left (2 f \left (x \right ) b +a \right )d x} b -1\right ) {\mathrm e}^{\int \left (-2 f \left (x \right ) b -a \right )d x} f \left (x \right ) {\mathrm e}^{\int \frac {\left (\int -f \left (x \right ) {\mathrm e}^{\int \left (-2 f \left (x \right ) b -a \right )d x}d x {\mathrm e}^{\int \left (2 f \left (x \right ) b +a \right )d x} b +c_1 \,{\mathrm e}^{\int \left (2 f \left (x \right ) b +a \right )d x} b -1\right ) {\mathrm e}^{\int \left (-2 f \left (x \right ) b -a \right )d x} f \left (x \right )}{c_1 +\int -f \left (x \right ) {\mathrm e}^{\int \left (-2 f \left (x \right ) b -a \right )d x}d x}d x} c_2}{c_1 +\int -f \left (x \right ) {\mathrm e}^{\int \left (-2 f \left (x \right ) b -a \right )d x}d x} \end{equation}
Substituting equations (3,4) into (1) results in
\begin{align*} y &= \frac {-u'}{f_2 u} \\ y &= \frac {-u'}{u f \left (x \right )} \\ y &= -\frac {\left (\int -f \left (x \right ) {\mathrm e}^{\int \left (-2 f \left (x \right ) b -a \right )d x}d x {\mathrm e}^{\int \left (2 f \left (x \right ) b +a \right )d x} b +c_1 \,{\mathrm e}^{\int \left (2 f \left (x \right ) b +a \right )d x} b -1\right ) {\mathrm e}^{\int \left (-2 f \left (x \right ) b -a \right )d x}}{c_1 +\int -f \left (x \right ) {\mathrm e}^{\int \left (-2 f \left (x \right ) b -a \right )d x}d x} \\ \end{align*}

Summary of solutions found

\begin{align*} y &= -\frac {\left (\int -f \left (x \right ) {\mathrm e}^{\int \left (-2 f \left (x \right ) b -a \right )d x}d x {\mathrm e}^{\int \left (2 f \left (x \right ) b +a \right )d x} b +c_1 \,{\mathrm e}^{\int \left (2 f \left (x \right ) b +a \right )d x} b -1\right ) {\mathrm e}^{\int \left (-2 f \left (x \right ) b -a \right )d x}}{c_1 +\int -f \left (x \right ) {\mathrm e}^{\int \left (-2 f \left (x \right ) b -a \right )d x}d x} \\ \end{align*}
2.19.2.2 Solved using first_order_ode_riccati_by_guessing_particular_solution

0.100 (sec)

Entering first order ode riccati guess solver

\begin{align*} y^{\prime }&=f \left (x \right ) y^{2}-a y-a b -b^{2} f \left (x \right ) \\ \end{align*}
This is a Riccati ODE. Comparing the above ODE to solve with the Riccati standard form
\[ y' = f_0(x)+ f_1(x)y+f_2(x)y^{2} \]
Shows that
\begin{align*} f_0(x) & =-b^{2} f \left (x \right )-a b\\ f_1(x) & =-a\\ f_2(x) &=f \left (x \right ) \end{align*}

Using trial and error, the following particular solution was found

\[ y_p = -b \]
Since a particular solution is known, then the general solution is given by
\begin{align*} y &= y_p + \frac { \phi (x) }{ c_1 - \int { \phi (x) f_2 \,dx} } \end{align*}

Where

\begin{align*} \phi (x) &= e^{ \int 2 f_2 y_p + f_1 \,dx } \end{align*}

Evaluating the above gives the general solution as

\[ y = -b +\frac {{\mathrm e}^{\int \left (-2 f \left (x \right ) b -a \right )d x}}{c_1 -\int {\mathrm e}^{\int \left (-2 f \left (x \right ) b -a \right )d x} f \left (x \right )d x} \]

Summary of solutions found

\begin{align*} y &= -b +\frac {{\mathrm e}^{\int \left (-2 f \left (x \right ) b -a \right )d x}}{c_1 -\int {\mathrm e}^{\int \left (-2 f \left (x \right ) b -a \right )d x} f \left (x \right )d x} \\ \end{align*}
2.19.2.3 Maple. Time used: 0.006 (sec). Leaf size: 65
ode:=diff(y(x),x) = f(x)*y(x)^2-a*y(x)-a*b-b^2*f(x); 
dsolve(ode,y(x), singsol=all);
 
\[ y = \frac {-\int f \left (x \right ) {\mathrm e}^{-\int \left (2 f \left (x \right ) b +a \right )d x}d x b -c_1 b -{\mathrm e}^{-\int \left (2 f \left (x \right ) b +a \right )d x}}{c_1 +\int f \left (x \right ) {\mathrm e}^{-\int \left (2 f \left (x \right ) b +a \right )d x}d x} \]

Maple trace

Methods for first order ODEs: 
--- Trying classification methods --- 
trying a quadrature 
trying 1st order linear 
trying Bernoulli 
trying separable 
trying inverse linear 
trying homogeneous types: 
trying Chini 
differential order: 1; looking for linear symmetries 
trying exact 
Looking for potential symmetries 
trying Riccati 
trying Riccati sub-methods: 
   trying Riccati_symmetries 
   trying Riccati to 2nd Order 
   -> Calling odsolve with the ODE, diff(diff(y(x),x),x) = (-a*f(x)+diff(f(x),x 
))/f(x)*diff(y(x),x)+f(x)*b*(f(x)*b+a)*y(x), y(x) 
      *** Sublevel 2 *** 
      Methods for second order ODEs: 
      --- Trying classification methods --- 
      trying a symmetry of the form [xi=0, eta=F(x)] 
      checking if the LODE is missing y 
      -> Heun: Equivalence to the GHE or one of its 4 confluent cases under a \ 
power @ Moebius 
      -> trying a solution of the form r0(x) * Y + r1(x) * Y where Y = exp(int\ 
(r(x), dx)) * 2F1([a1, a2], [b1], f) 
      -> Trying changes of variables to rationalize or make the ODE simpler 
         trying a symmetry of the form [xi=0, eta=F(x)] 
         checking if the LODE is missing y 
         -> Heun: Equivalence to the GHE or one of its 4 confluent cases under \ 
a power @ Moebius 
         -> trying a solution of the form r0(x) * Y + r1(x) * Y where Y = exp(\ 
int(r(x), dx)) * 2F1([a1, a2], [b1], f) 
            trying a symmetry of the form [xi=0, eta=F(x)] 
            trying 2nd order exact linear 
            trying symmetries linear in x and y(x) 
            trying to convert to a linear ODE with constant coefficients 
      <- unable to find a useful change of variables 
         trying a symmetry of the form [xi=0, eta=F(x)] 
         trying 2nd order exact linear 
         trying symmetries linear in x and y(x) 
         trying to convert to a linear ODE with constant coefficients 
         trying 2nd order, integrating factor of the form mu(x,y) 
         trying a symmetry of the form [xi=0, eta=F(x)] 
         checking if the LODE is missing y 
         -> Heun: Equivalence to the GHE or one of its 4 confluent cases under \ 
a power @ Moebius 
         -> trying a solution of the form r0(x) * Y + r1(x) * Y where Y = exp(\ 
int(r(x), dx)) * 2F1([a1, a2], [b1], f) 
         -> Trying changes of variables to rationalize or make the ODE simpler 
            trying a symmetry of the form [xi=0, eta=F(x)] 
            checking if the LODE is missing y 
            -> Heun: Equivalence to the GHE or one of its 4 confluent cases und\ 
er a power @ Moebius 
            -> trying a solution of the form r0(x) * Y + r1(x) * Y where Y = e\ 
xp(int(r(x), dx)) * 2F1([a1, a2], [b1], f) 
               trying a symmetry of the form [xi=0, eta=F(x)] 
               trying 2nd order exact linear 
               trying symmetries linear in x and y(x) 
               trying to convert to a linear ODE with constant coefficients 
         <- unable to find a useful change of variables 
            trying a symmetry of the form [xi=0, eta=F(x)] 
         trying to convert to an ODE of Bessel type 
   -> Trying a change of variables to reduce to Bernoulli 
   -> Calling odsolve with the ODE, diff(y(x),x)-(f(x)*y(x)^2+y(x)-a*y(x)*x+x^2 
*(-a*b-b^2*f(x)))/x, y(x), explicit 
      *** Sublevel 2 *** 
      Methods for first order ODEs: 
      --- Trying classification methods --- 
      trying a quadrature 
      trying 1st order linear 
      trying Bernoulli 
      trying separable 
      trying inverse linear 
      trying homogeneous types: 
      trying Chini 
      differential order: 1; looking for linear symmetries 
      trying exact 
      Looking for potential symmetries 
      trying Riccati 
      trying Riccati sub-methods: 
         trying Riccati_symmetries 
      trying inverse_Riccati 
      trying 1st order ODE linearizable_by_differentiation 
   -> trying a symmetry pattern of the form [F(x)*G(y), 0] 
   -> trying a symmetry pattern of the form [0, F(x)*G(y)] 
   <- symmetry pattern of the form [0, F(x)*G(y)] successful 
   <- Riccati with symmetry pattern of the form [0,F(x)*G(y)] successful
 

Maple step by step

\[ \begin {array}{lll} & {} & \textrm {Let's solve}\hspace {3pt} \\ {} & {} & \frac {d}{d x}y \left (x \right )=f \left (x \right ) y \left (x \right )^{2}-a y \left (x \right )-a b -b^{2} f \left (x \right ) \\ \bullet & {} & \textrm {Highest derivative means the order of the ODE is}\hspace {3pt} 1 \\ {} & {} & \frac {d}{d x}y \left (x \right ) \\ \bullet & {} & \textrm {Solve for the highest derivative}\hspace {3pt} \\ {} & {} & \frac {d}{d x}y \left (x \right )=f \left (x \right ) y \left (x \right )^{2}-a y \left (x \right )-a b -b^{2} f \left (x \right ) \end {array} \]
2.19.2.4 Mathematica. Time used: 0.297 (sec). Leaf size: 185
ode=D[y[x],x]==f[x]*y[x]^2-a*y[x]-a*b-b^2*f[x]; 
ic={}; 
DSolve[{ode,ic},y[x],x,IncludeSingularSolutions->True]
 
\[ \text {Solve}\left [\int _1^x\frac {\exp \left (-\int _1^{K[2]}(a+2 b f(K[1]))dK[1]\right ) (a+b f(K[2])-f(K[2]) y(x))}{a (b+y(x))}dK[2]+\int _1^{y(x)}\left (\frac {\exp \left (-\int _1^x(a+2 b f(K[1]))dK[1]\right )}{a (b+K[3])^2}-\int _1^x\left (-\frac {\exp \left (-\int _1^{K[2]}(a+2 b f(K[1]))dK[1]\right ) f(K[2])}{a (b+K[3])}-\frac {\exp \left (-\int _1^{K[2]}(a+2 b f(K[1]))dK[1]\right ) (a+b f(K[2])-f(K[2]) K[3])}{a (b+K[3])^2}\right )dK[2]\right )dK[3]=c_1,y(x)\right ] \]
2.19.2.5 Sympy. Time used: 1.921 (sec). Leaf size: 68
from sympy import * 
x = symbols("x") 
a = symbols("a") 
b = symbols("b") 
y = Function("y") 
f = Function("f") 
ode = Eq(a*b + a*y(x) + b**2*f(x) - f(x)*y(x)**2 + Derivative(y(x), x),0) 
ics = {} 
dsolve(ode,func=y(x),ics=ics)
 
\[ y{\left (x \right )} = \frac {b \left (e^{2 C_{1} b e^{a x}} + e^{2 b e^{a x} \int f{\left (x \right )} e^{- a x}\, dx}\right )}{e^{2 C_{1} b e^{a x}} - e^{2 b e^{a x} \int f{\left (x \right )} e^{- a x}\, dx}} \]
Python version: 3.12.3 (main, Aug 14 2025, 17:47:21) [GCC 13.3.0] 
Sympy version 1.14.0
 
classify_ode(ode,func=y(x)) 
 
('1st_power_series', 'lie_group')