Open the MATH menu and scroll all the way down. The last entry, usually labeled B: Solver… or C: Solver… depending on firmware, is a general-purpose numerical root finder. Almost nobody teaches it, and students hack around it with guesswork.
What it does
Given any equation written in the form E = 0, Solver finds a value of the chosen variable that makes it true. It uses a bisection-like numerical method under the hood, so it'll find roots of equations that don't have closed-form solutions — x⋅e^x = 2, ln(x) = sin(x), nonlinear systems, anything.
How to use it
- Press
math, scroll down, select Solver. - The first screen shows
EQUATION SOLVERwitheqn: 0=. Type the equation with everything on one side equal to zero.- To solve
x² − 3x + 2 = 0, enterX^2 - 3X + 2. - To solve
e^x = 5, move everything to one side:e^X - 5.
- To solve
- Press
enter. You'll see a screen listing every variable that appeared in the equation, plusbound={-1E99,1E99}. - Put the cursor next to the variable you want to solve for and press
alpha+enter(that's SOLVE).
Tightening the bound for non-unique solutions
Every quadratic has two roots, but Solver only returns one — the one closest to the current value of the variable.
Example: X^2 - 5X + 6 has roots 2 and 3. By default Solver might return only the 3. To force it to find the other root:
- Before pressing SOLVE, set
X = 0(a guess near the root you want). - Now
alpha+enterwill find 2. - Set
X = 10, solve again — get 3.
The bound={...} field restricts the search interval. bound={0,2.5} + initial guess inside that window guarantees Solver returns the root in that window, if one exists.
Why it beats graphing and zooming
- Faster. You're not squinting at pixels.
- Exact to the calculator's float precision (about 12 significant digits), not screen resolution.
- Works even when the function isn't easy to graph (e.g. implicit, oscillating, piecewise).
Gotchas
- Solver treats every letter as a distinct variable. If you accidentally typed a lowercase
xusingalpha, it's a different variable fromX. ERR:NO SIGN CHNGmeans the function didn't cross zero inside the bound. Widen the bound or pick a different starting guess.- Don't leave stale values in variable memory.
2nd+mem→2:Mem Management/Delete…→Realswipes them.