Each class is a short animated explainer with narration and illustrations, plus quick checks and a mastery quiz. Your progress saves automatically as you complete classes.
▶ Watch class 1 free — no sign-upEvery class is 13 cards · narrated film + illustration · 3 quick checks · an interactive · a 5-question mastery quiz. Nothing hidden — this is the complete text of What is a Differential Equation?.
In 1666, Isaac Newton was sitting in a garden when he supposedly saw an apple fall. We all know that story. But the real insight wasn't just about gravity. It was about change. Newton realized that to describe the motion of the apple, or the orbit of the moon, you couldn't just describe its position. You had to describe how its position *changes*. You needed to relate force not to position, but to acceleration—the second derivative of position. In that moment, he wasn't just inventing physics; he was inventing its language. That language is the language of differential equations. It's a language that, instead of solving for a number, solves for a future. And it's the language we are here to learn.
Algebra describes states. How do we describe change?
The mathematics you've learned so far—algebra, geometry, trigonometry—is primarily the mathematics of stasis. An equation like `x squared plus y squared equals r squared` defines a circle. It is a perfect, timeless description of a set of points. But it tells you nothing about how a planet moves *along* its orbit, or how a pendulum swings. The world is not static; it is dynamic. Everything is in flux. Populations grow, circuits oscillate, chemicals react, investments compound. The core problem is this: how do we write down a law that governs not a static state, but the very process of change itself? An algebraic equation relates variables to each other. We need a new kind of equation that relates a variable to its own rate of change. Without such a language, we can describe what is, but we cannot predict what will be. We are left with snapshots of the world, unable to describe the motion picture. Our task is to build a mathematical framework for dynamics.
An equation where the unknown is not a number, but an entire function.
Let's be precise. A differential equation is an equation that contains an unknown function and one or more of its derivatives. That's the formal definition. But the intuition is more important. Think of it as a constraint, a rule that a function must obey. For example, the statement 'the rate of population growth is proportional to the current population' can be written as `dP/dt = kP`. Here, the unknown is not a number. The unknown is the function `P(t)` that describes the population at any time `t`. We are not looking for a single value. We are looking for a function whose derivative is always `k` times itself. The solution is a curve, a history, a future trajectory. This is the fundamental shift in perspective. In algebra, you solve for `x`. In differential equations, you solve for `f(x)`. You are finding the entire dynamic behavior that satisfies the given law of change. The equation provides the local rule of motion, and the solution provides the global path.
The laws of motion are differential equations.
The history of differential equations is inseparable from the invention of calculus itself in the late 17th century. Isaac Newton, in his *Principia Mathematica* of 1687, was trying to explain Kepler's laws of planetary motion. His second law of motion, Force equals mass times acceleration, is fundamentally a differential equation. He wrote it as `F = m times the second derivative of position with respect to time`. He had to invent methods to 'solve' these equations—what he called the 'method of fluxions'—to derive the elliptical orbits of the planets. Simultaneously, across the channel, Gottfried Wilhelm Leibniz developed his own version of calculus, starting from the geometric problem of finding the tangent to a curve. His notation, `dy/dx`, proved so powerful that it's the one we use today. This dual-origin led to the infamous Newton-Leibniz calculus controversy, a bitter dispute over priority. But from this conflict, the field flourished. The Bernoulli brothers, Euler, Lagrange, and Laplace spent the next century developing a rich, systematic theory for solving these equations, applying them to everything from vibrating strings to fluid dynamics.
A DE is a map of slopes. A solution is a path that follows the map.
So how does a differential equation actually work? Let's consider a first-order equation of the form `dy/dt = f(t, y)`. The left side, `dy/dt`, is the slope of the solution curve `y(t)`. The equation tells us that this slope is determined by the function `f` of the current position `(t, y)`. Imagine the `t-y` plane is a vast field. At every single point in this field, the equation gives us a tiny arrow, a direction, a slope. For instance, at the point `(t=1, y=2)`, the slope is `f(1,2)`. This collection of all possible slopes is called a direction field or a slope field. A solution to the differential equation is a curve that is tangent to these direction arrows at every point it passes through. It's like a boat navigating a current; the equation defines the current at every point, and the solution is the path the boat takes. The differential equation provides an infinity of local instructions. Solving it means piecing together these local instructions to reveal the global behavior, the entire functional form of `y(t)`. This geometric viewpoint, championed by Henri Poincaré, is one of the most powerful concepts in the field.
Understanding the notation is the first step to taming the equation.
Let's dissect the formal syntax. A general nth-order ordinary differential equation is expressed as a function `F` of an independent variable `t`, an unknown function `y`, and its derivatives up to the nth order, all set to zero. Here, `t` is typically time or position. `y`, which is really `y(t)`, is the function we seek. The primes, `y prime`, `y double prime`, denote the first and second derivatives with respect to `t`. The highest derivative present, `n`, is called the 'order' of the equation. This is the most basic classification. A crucial distinction is linearity. An equation is 'linear' if the dependent variable `y` and its derivatives appear only to the first power. The general form of a linear ODE shows this clearly: each derivative term is multiplied only by a function of `t`, the independent variable. If you see terms like `y squared`, or `y` times `y prime`, the equation is non-linear. This distinction is critical because we have a complete, general theory for solving linear equations, whereas non-linear equations are far more difficult and often exhibit complex behaviors like chaos.
Order, Linearity, Homogeneity, and the ODE/PDE divide.
When we encounter a new differential equation, we diagnose it using a few key features. This classification tells us which family it belongs to and what solution methods might apply. First, as we've seen, is the **Order**: the highest derivative that appears. Newton's law of cooling is first-order; the wave equation is second-order. Second is **Linearity**. This is arguably the most important distinction. Linear equations obey the principle of superposition, meaning solutions can be added together to form new solutions. This property fails for non-linear equations, making them much harder to analyze. Third, for linear equations, we ask if they are **Homogeneous**. This is true if the term that does not depend on `y` or its derivatives—the `g(t)` in our syntax example—is zero. Homogeneous equations have a simpler structure, and their solutions form the basis for solving their non-homogeneous counterparts. Finally, there is the great divide between **Ordinary and Partial Differential Equations**. An ODE contains derivatives with respect to only one independent variable. A PDE contains partial derivatives with respect to two or more independent variables, like describing a temperature distribution over both space and time. In this course, we will focus almost entirely on ODEs.
Let's solve our first, and most fundamental, differential equation.
Let's walk through a complete example: the model for unconstrained population growth, `dP/dt = kP`. This is a first-order, linear, homogeneous ODE. The goal is to find the function `P(t)`. We use a method called separation of variables. We rearrange the equation to get all terms involving `P` on one side and all terms involving `t` on the other. Dividing by `P` and multiplying by `dt`, we get `1 over P dP equals k dt`. The equation is now 'separated'. The next step is to integrate both sides. The integral of `1 over P dP` is the natural logarithm of the absolute value of `P`. The integral of `k dt` is `k times t`, plus an arbitrary constant of integration, `C`. This gives `ln(P) = kt + C`. To isolate `P`, we exponentiate both sides. `P` equals `e to the power of (kt + C)`. Using the properties of exponents, we can write this as `e to the C` times `e to the kt`. Since `C` is an arbitrary constant, `e to the C` is also just some positive constant. Let's call it `P_0`. This gives our final, general solution: `P(t) = P_0 e to the kt`. `P_0` represents the initial population at `t=0`.
Most differential equations cannot be solved with a simple formula.
The exponential growth example was clean and satisfying. It yielded what we call an 'analytical' or 'closed-form' solution—a nice formula. This is the exception, not the rule. The primary limitation of the field is that the vast majority of differential equations, particularly non-linear ones, cannot be solved analytically. The equations for fluid flow, the three-body problem in astrophysics, most models in economics—they all lead to DEs with no known formulaic solution. This might seem like a catastrophic failure, but it's not. It simply forces us to change our approach. We trade the quest for exact formulas for two other powerful strategies. First, qualitative analysis: we can analyze the equation itself to understand the long-term behavior of its solutions—do they go to infinity, do they settle into an equilibrium, do they oscillate?—without ever writing down the solution itself. Second, numerical methods: we use algorithms and computers to generate high-quality approximations of the solution. This is the foundation of modern scientific simulation, from weather prediction to designing aircraft wings. The tradeoff is clear: DEs offer a universal language for modeling, but the price of that expressive power is that we must often abandon the search for perfect, analytical answers.
Solving a DE is a generalized form of integration.
How does this new object, the differential equation, relate to concepts you already know? Think of it as the summit of a mountain you've been climbing. At the base was **algebra**, which lets you solve for unknown numbers in static relationships. One level up was **differential calculus**, which gave you the tools to take a known function and find its instantaneous rate of change. Then came **integral calculus**, which allowed you to do the reverse: given a rate of change, `f(x)`, you could find the original function by computing its integral. Solving differential equations is the ultimate generalization of this inverse problem. The simplest possible DE is `dy/dx = f(x)`. To solve it, you simply integrate `f(x)`. But most DEs are more complex, like `dy/dx = f(x, y)`. The rate of change depends not just on `x`, but on the value of the function `y` itself. So, while integration is our primary tool for solving DEs, the act of solving a DE is a richer, more complex process than simple antidifferentiation. You are not just finding an area; you are discovering the function that lives by the rules of change prescribed by the equation.
Avoid these common errors as you begin your work.
As you start solving these equations, there are several common conceptual traps. The first and most frequent is **forgetting the constant of integration**. When you solve `dP/dt = kP` and get `ln(P) = kt`, it is tempting to forget the `+C`. That `C` is not a minor detail; it generates the entire family of solutions. A differential equation doesn't have one solution, it has infinitely many, parameterized by initial conditions. The constant captures that fact. The second pitfall is **misclassifying an equation**. Trying to use a method for linear equations on a non-linear one will lead to frustration and incorrect answers. Always verify the linearity of an equation before you begin. Third is **confusing variables**. In more complex problems, it's easy to mix up the dependent and independent variables. Be methodical in your notation. Finally, there's the subtle error of **treating `dy/dx` as a true fraction**. We manipulate it this way for separation of variables, and it works beautifully. However, it is formally the limit of a ratio, not a ratio itself. This 'abuse of notation' is a powerful shortcut, but remembering its formal meaning will prevent confusion in more advanced contexts, especially with partial derivatives.
The books and code that will be your companions in this course.
To truly learn this subject, you'll need to work with a variety of tools. Your primary textbook will be Boyce and DiPrima's *Elementary Differential Equations and Boundary Value Problems*, a classic text known for its rigor and comprehensive set of problems. For a more visual, systems-oriented perspective, I highly recommend looking at Blanchard, Devaney, and Hall's *Differential Equations*. But to work like a modern scientist or engineer, you must use computational tools. We will frequently use **MATLAB**, or its free alternative **GNU Octave**, for numerical simulations. Its `ode45` solver is a workhorse for solving complex systems. For those in the Python ecosystem, the `SciPy` library contains an equivalent suite of tools, most notably `solve_ivp`. Finally, for checking your analytical work and performing complex integrations or algebraic manipulations, a computer algebra system is indispensable. **WolframAlpha** is excellent for quick online queries, and the **SymPy** library in Python provides these capabilities for programmatic use. Use these to verify your results and build intuition, not as a crutch.
See the shape of the solution before you even try to solve it.
This week's exercise is not about solving, but about seeing. Take the differential equation `dy/dx = x - y`. Your task is to sketch its slope field. Get a piece of graph paper and draw your x and y axes. Now, pick points on the grid. For each point `(x, y)`, calculate the value of the slope, `x - y`. At that point, draw a small line segment with that slope. For example, at the point `(1, 1)`, the slope is `1 - 1 = 0`, so you draw a small horizontal line segment. At the point `(0, 2)`, the slope is `0 - 2 = -2`, so you draw a steep, downward-sloping segment. At `(2, 0)`, the slope is `2 - 0 = 2`, a steep, upward-sloping segment. Do this for 20 or 30 points. You will see a visual pattern emerge, a flow. Then, try to sketch a few solution curves by starting at a point, like `(0, 0)`, and drawing a curve that is always tangent to the slope segments. This exercise is designed to build a deep, geometric intuition for what a differential equation represents: a vector field guiding the flow of its solutions.
We defined a differential equation as a relationship between a function and its derivatives, establishing it as the primary language for describing dynamic systems. We then learned how to classify these equations by order and linearity, which dictates our approach to solving them.