Internal
problem
ID
[13485]
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-2.
Equations
containing
arbitrary
functions
and
their
derivatives.
Problem
number
:
38
Date
solved
:
Friday, December 19, 2025 at 04:57:37 AM
CAS
classification
:
[_Riccati]
ode:=diff(y(x),x) = y(x)^2*diff(f(x),x)/g(x)-diff(g(x),x)/f(x); dsolve(ode,y(x), singsol=all);
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) = (diff(diff(f(x),x),x )*g(x)-diff(f(x),x)*diff(g(x),x))/g(x)/diff(f(x),x)*diff(y(x),x)+1/g(x)*diff(f( x),x)*diff(g(x),x)/f(x)*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 <- 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 <- 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)-(1/g(x)*diff(f(x),x)*y(x)^2+y( x)-x^2*diff(g(x),x)/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)] -> trying a symmetry pattern of the form [F(x),G(x)*y+H(x)] trying inverse_Riccati trying 1st order ODE linearizable_by_differentiation --- Trying Lie symmetry methods, 1st order --- -> Computing symmetries using: way = 4 -> Computing symmetries using: way = 2 -> Computing symmetries using: way = 6 [0, f(x)^2*(y+g(x)/f(x))^2] <- successful computation of symmetries. 1st order, trying the canonical coordinates of the invariance group <- 1st order, canonical coordinates successful
Maple step by step
ode=D[y[x],x]==D[ f[x],x]/g[x]*y[x]^2-D[ g[x],x]/f[x]; ic={}; DSolve[{ode,ic},y[x],x,IncludeSingularSolutions->True]
from sympy import * x = symbols("x") y = Function("y") f = Function("f") g = Function("g") ode = Eq(Derivative(y(x), x) - y(x)**2*Derivative(f(x), x)/g(x) + Derivative(g(x), x)/f(x),0) ics = {} dsolve(ode,func=y(x),ics=ics)
NotImplementedError : The given ODE Derivative(y(x), x) - y(x)**2*Derivative(f(x), x)/g(x) + Derivat
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')