The words get used interchangeably in class and I mix them up on vocabulary questions.
Accepted answer
They're three different kinds of object.
- **Expression** — a phrase with no equals sign: `3x + 2`. You can *simplify* or *evaluate* it, but there's nothing to solve. Asking to "solve `3x + 2`" is a category error.
- **Equation** — two expressions set equal: `3x + 2 = 11`. This makes a *claim*, which is true for some values of `x` and false for others. You **solve** it to find which.
- **Function** — a rule assigning exactly one output to each input: `f(x) = 3x + 2`. You **evaluate** it at inputs, and it has a domain, a range, and a graph.
The grammar analogy: an expression is a noun phrase, an equation is a full sentence, a function is a machine.
The "exactly one output" part is what the vertical line test checks — `x² + y² = 9` is an equation whose graph (a circle) is not a function, since `x = 0` gives both `y = 3` and `y = −3`.