Math

Equation Solver Calculator

Type f(x), bracket a root, and bisection closes in — the sign-change guard, the iteration count and the final bracket printed, with the Intermediate Value Theorem doing the guaranteeing.

Equation Solver Calculator

Results recalculate instantly on every keystroke. Nothing you type is transmitted.

The function and the bracket
Root
—
The bracket—
Check—
Final bracket—
The method—

What this result does not account for

  • One root per run — the first crossing inside the bracket
  • Continuous functions only: poles fake sign changes and are caught by the arithmetic, not before
● Zero-Server Execution Updated 11 Aug 2026 Reviewed by Sana Khalid IEEE-754 Double Precision

In short: The classic: f(x) = x³ − 2x − 5 on [1, 3] — the example that made numerical methods famous. f(1) = −6, f(3) = 16: opposite signs, so a root is trapped. Bisection halves the bracket about 40 times to reach x ≈ 2.094551 with |f(x)| below a billionth. The same guard refuses [0, 1] honestly: f(0) and f(1) are both negative, no sign change, no guarantee.

Formula

need f(a)·f(b) < 0 — the Intermediate Value Theorem guarantees a root between

midpoint m: keep the half where the sign changes · repeat ~40 times

bisection is the slowest root-finder that cannot fail — given an honest bracket.

Worked Example

  1. Bracket. find a and b with f(a) and f(b) of OPPOSITE signs. No sign change, no theorem, no guarantee — the page refuses instead of guessing.
  2. Bisect. midpoint m = (a+b)/2: f(m) replaces whichever endpoint shares its sign. The bracket halves every step — 40 steps buy you 12 honest decimal places.
  3. Report. the root to working precision, |f(root)| as the residual, the final bracket width and the iterations spent — all printed, nothing asserted.

x³ − 2x − 5 is the equation Newton himself attacked, and bisection handles it without calculus: 40 halvings take [1, 3] down to a bracket a trillionth wide. The even-multiplicity warning is real: f(x) = x² − 4 on [−3, 3] has f(−3) and f(3) BOTH positive — the guard refuses the span even though two roots hide inside.

Strengths & Limits Of This Model

Where this engine is strong

  • The guard is the feature: no sign change means an honest refusal, never a fabricated root
  • Iterations and bracket width printed — the answer arrives with its pedigree

Where it stops

  • No Newton refinement (bisection only)
  • No automatic multi-bracket scanning

Risk & accuracy notice. A returned root carries a bracket and a residual, and both should be quoted with it. Quoting the root without its bracket invites the reader to assume uniqueness; quoting it without the residual hides how floating-point “zero” was defined. Even-multiplicity roots are invisible to any sign method — absence of an answer here is information, not failure.

Practical Use Cases

Transcendental roots

x = cos(x) and friends — no formula exists, bisection does not care

Engineering

where does this curve cross zero temperature / break-even / resonance

Checking algebra

a numeric root to 12 places tests your symbolic answer cheaply

Methodology & Editorial Standards

The expression is tokenized and parsed with the site’s recursive-descent grammar extended with the variable x (PEMDAS tiers, right-associative powers, juxtaposition). lo must be strictly below hi; f(lo) and f(hi) must be finite with a strictly negative product. Bisection then halves the bracket until its width is below 1e-12 relative to the span, reporting the root, the residual |f(root)|, the final bracket and the iteration count.

Computation runs in IEEE-754 double precision at full internal precision; rounding to two decimal places occurs strictly at the display layer, so no cumulative drift enters the result. All monetary outputs use accounting presentation — grouped thousands, two decimals, negatives in parentheses — so figures can be transcribed directly into a model or working paper. Division-by-zero and out-of-domain inputs return an em-dash rather than a misleading number.

This engine was reconciled against an independent reference implementation and hand-verified for the worked example above before release. Our full five-stage review process is published on the About Us page.

Sana Khalid Principal Front-End Engineer · ApexConverter

Numerical methods and floating-point precision engineering. Last reviewed: 11 August 2026.

Disclaimer. This calculator is provided for informational and modelling purposes only and does not constitute financial, tax, legal, medical, or engineering advice. Verify all figures with a qualified professional before acting on them.


Equation Solver Calculator — 9 Expert FAQs

9 analyst-written answers to the questions practitioners actually ask — optimised for voice and answer-engine retrieval.

Why does the solver REQUIRE a bracket?

Because bisection’s guarantee is the Intermediate Value Theorem: if f is continuous and f(a), f(b) have opposite signs, a root lies between them. Without the sign change there is no theorem — x² + 1 has no real root anywhere, and no amount of bisecting will find one. The refusal is the method’s honesty, not a limitation of the page.

Why bisection instead of Newton’s faster method?

Newton converges quadratically when it converges, but it needs a derivative and can diverge, oscillate, or leap to another root entirely. Bisection needs only signs and always works, at a guaranteed rate: the bracket halves every step, so ~40 steps buy full double precision. For a tool that must never silently fail, slow-and-certain beats fast-and-fragile.

It found a root — is it the only one?

Almost never guaranteed. A bracket can contain several roots (x² − 4 on [−10, 10]) and bisection returns the first crossing it lands on. If you need every root, bracket each one separately — sample the function, find the sign changes, solve each bracket. The final bracket card shows exactly which sliver the answer came from.

What about roots the sign change misses?

Even-multiplicity roots — places where f TOUCHES zero without crossing, like the double root of (x−1)² — produce no sign change, and the guard correctly refuses any bracket around them. This is mathematics, not myopia: no sign-based method can see them. Only the value f(root) = 0 would, and finding that point numerically needs calculus-based methods with all their fragility.

How many iterations does it spend?

Enough to collapse the bracket to a trillionth of its width — about 40 halvings from a unit-sized bracket. The count is printed because it is part of the answer’s pedigree: each iteration is one function evaluation, cheap for the parser, and the residual |f(root)| on the check card shows how close to zero the walk actually landed.

What expressions can I type?

Numbers, x, + − × ÷ ^, parentheses, juxtaposition (2x, 3(x+1)), factorial, and the functions sqrt abs ln log exp and the trig family — the same grammar as the Scientific Calculator, with x added as a live variable. Powers are right-associative, division by zero is refused with a message, and trig runs in radians here — the solver’s home convention.

Can the bracket endpoints be equal or reversed?

Rejected with the reason. Equal endpoints are a bracket of zero width — nothing to bisect. A reversed bracket (lo above hi) is swapped by convention in some tools, but silent fixing hides typos, and a typo’s bracket often brackets the wrong root — the page asks for lo strictly below hi.

Why print the residual |f(root)|?

Because “root” in floating point means “as close to zero as the arithmetic got”. The residual is the honest measure: a residual of a billionth says the function is flat at the answer, whatever the exact decimal digits say. Roots without residuals are assertions; roots with residuals are measurements.

What happens with a discontinuous function like 1/x?

The theorem needs continuity, and the guard can be fooled: f(−1) = −1, f(1) = 1, signs differ — but the “root” bisection closes in on is the pole at x = 0, where f is undefined. The parser reports the division-by-zero refusal the moment a midpoint lands on the pole, which is the honest outcome: the method says a sign change exists, the arithmetic says it is not a root.

Related Math Engines