Math / Differential Equations

Differential Equation Calculator

Solve common ODEs with steps, initial conditions, and graphs.

Equation

Technique

Initial conditions

Detected technique

Separable equation

With initial value

General solution

y = C e^(x²/2)

Family of curves before applying initial conditions.

Particular solution

y = 2e^(x²/2)

Constant solved from initial conditions.

Graph

Slope field + IVP curve

Steps

1

Identify form

dy/dx = (x) · (y)

2

Separate variables

(1/(y)) dy = (x) dx

3

Integrate both sides

ln|y| = x²/2 + C

4

Solve for y

y = C e^(x²/2)

What this does

Accepts a first-order or second-order ordinary differential equation in standard notation (dy/dx, y', y''), classifies it by technique, solves for the general solution and optional particular solution, and displays a detailed step-by-step derivation with an interactive graph.

Who it is for

Students, educators, and anyone studying differential equations who needs to check their work, understand solution techniques, or visualize solution curves and slope fields without setting up a full computer algebra system.

How it works

The calculator parses the equation into a syntax tree, normalizes derivative notation, classifies the equation type (separable, first-order linear, logistic, or second-order constant-coefficient homogeneous), then applies the corresponding symbolic solver. Initial conditions are substituted to produce a particular solution. The graph engine generates slope fields for first-order equations and solution curves for evaluable general solutions.

Limitations

This calculator supports separable equations, first-order linear equations, logistic equations, and second-order constant-coefficient homogeneous equations. It does not support Bernoulli, exact, nonhomogeneous, or arbitrary nonlinear equations in this release, nor does it handle PDEs, systems of ODEs, or Laplace transforms.

Key calculations

Separable Equation
When dy/dx = f(x)·g(y), rewrite as dy/g(y) = f(x)dx, integrate both sides, and solve for y. The constant C captures the family of solutions.
First-Order Linear Equation
For y' + P(x)y = Q(x), compute the integrating factor μ(x) = e^(∫P(x)dx), multiply both sides, and recognize the left side as (μ(x)y)'. Then integrate and solve for y.
Logistic Equation
For y' = r·y·(1 − y/K), the general solution is y = K / (1 + Ce^(−rx)). With an initial condition y(x0) = y0, the constant is C = (K/y0 − 1)·e^(r·x0).
Second-Order Constant-Coefficient Homogeneous
For ay'' + by' + cy = 0, solve the characteristic equation ar² + br + c = 0. Real distinct roots give y = C1·e^(r1·x) + C2·e^(r2·x). Repeated roots give y = (C1 + C2·x)·e^(rx). Complex roots α±βi give y = e^(αx)·(C1·cos(βx) + C2·sin(βx)).

Reference ranges

Separable Equations
Works when the right-hand side can be factored into a product f(x)·g(y). Covers common textbook examples such as dy/dx = x·y, dy/dx = y², and dy/dx = e^x·y.
First-Order Linear
Supports equations where y and y' appear linearly with coefficients that depend only on x. Handles both constant and variable P(x) within the supported integration table.
Logistic Growth
Detects the form y' = r·y·(1 − y/K) where r and K are constants. Returns the S-curve general solution and solves initial values for population, spread, and decay models.
Second-Order Homogeneous
Covers constant-coefficient equations ay'' + by' + cy = 0. Handles all three root cases: real distinct, repeated, and complex conjugate. Applies initial conditions via a 2×2 linear system.

How to use it

  1. 1.Enter a supported differential equationType your equation using dy/dx, y', or y'' notation. The independent variable is x and the dependent variable is y.
  2. 2.Choose Auto or a solving techniqueAuto mode detects the equation type automatically. You can also manually select Separable, Linear, Logistic, or Second Order.
  3. 3.Add initial conditions if neededSwitch to First Order or Second Order initial condition mode and enter the required values to get a particular solution.
  4. 4.Review the general solution, particular solution, steps, and graphThe calculator displays the detected technique, general solution, particular solution (if initial conditions are given), numbered steps, and an interactive graph.

Yes. Every supported solver produces a numbered step-by-step derivation. Steps show how the equation is classified, what technique is applied, the integration or substitution performed, and how the final answer is reached.

Yes. For first-order equations you can provide y(x0) = y0, and for second-order equations you can provide both y(x0) = y0 and y'(x0) = v0. The calculator solves for the integration constants and returns the particular solution.

The calculator currently supports four techniques: separable equations, first-order linear equations using an integrating factor, logistic growth equations, and second-order constant-coefficient homogeneous equations. More techniques will be added in future releases.

Yes. For first-order equations the graph shows a slope field plus the solution curve through any supplied initial condition. For second-order equations the graph shows the general solution curve. You can adjust the x and y domain ranges.

The current version supports a targeted set of common equation types. Your equation may use unsupported functions, exceed second order, require a technique not yet implemented, or contain syntax the parser cannot interpret. The error message will explain which limitation applies and suggest a supported example to try.

You can use dy/dx for first-order equations, y' as a shorthand, and y'' for second-order equations. The independent variable must be x and the dependent variable must be y. Use ^ for powers, * for multiplication, and sin/cos/tan/exp/ln/sqrt for functions.

The current release supports first-order and second-order ordinary differential equations within specific linear and separable forms. Higher-order equations, systems of ODEs, and fully nonlinear equations are not yet supported but are planned for future updates.

Need a change for Differential Equation Calculator?

Related calculators

Quick jumps