HomeCalculatorsMathAlgebra & EquationsQuadratic Formula Calculator
Math calculator

Quadratic Formula Calculator

Solve real quadratic equations with two, repeated, or complex roots. Inspect the discriminant, vertex, numerical limits, worked steps, and complete exports.

Instant result
Result
—

Enter values to calculate.

Inputs—
Mode—
Formula—
Trust summary CVP VERIFIED · CVP protocol 1.0.0-proposed · Core assurance · solve and four quadratic inequality operators
Input interpretation
Enter values to calculate.
Result
—
Verified scope
solve and four quadratic inequality operators
Assurance
Core
Declared partition coverage
PASS · 6/6 declared partitions (solve, inequality-lt, inequality-le, inequality-gt, inequality-ge, invalid-domain) · Matrix
Numerical scope
66 listed independent complete packs only
Known limitations
  • Core CVP does not include live graph, viewport, or pointer interaction.
Model
Roots of ax²+bx+c=0 via the quadratic formula, with discriminant, vertex, axis of symmetry, optional factorization, and a live parabola of y = ax²+bx+c.
Scope
a ≠ 0; coefficients are real numbers (fractions allowed).
Verification
Engine tested · Source checked · v1.1.2 · CVP VERIFIED · CVP protocol 1.0.0-proposed · Core assurance · solve and four quadratic inequality operators· View Manifest · CVP overview · Specification
Versions
Calculation 1.1.2 · CVP protocol 1.0.0-proposed · Evidence 2026-10-27.full-review-v1
Verification revision
2026-10-27.full-review-v1 · 3/3 property · digest fbb37f7854b6
Legacy regression
9/9 tests · Production surface contract 5/5
Trust layers
Verification VERIFIED · Production CURRENT · Overall CVP state: VERIFIED under CVP 1.0.0-proposed
Reference
O1 model · O2 expected_values · O2 numerical_behavior
Interfaces
PASS · UI (SSR) / REST / MCP — ui-ssr is query-result HTML, not a live browser session. Error-path engine·REST·MCP 30/30 (status, code, calculation_version). SSR compared on URL-canonical requested calculations; empty query is idle (not an error) and JSON-typed object/array inputs are REST/MCP-only.
Supplemental domain review
Not performed
Named expert review
Not performed
CVP suite
66/66 golden · 3/3 CVP boundary · 33/33 invalid · 3/3 property · 1/1 metamorphic · 97/97 cross-interface · 1/1 cross-calculator · 5/5 CVP contract · Manifest
Evidence
6 legacy golden · 3 legacy boundary · legacy regression suite · 66/66 oracle-backed golden · 33/33 invalid · Artifact integrity PASS
This calculator CURRENT · Public schema 1.1.2 matches · Semantic contract ✓ · Production attested · Public/cache ✓ · Origin ✓
Semantic contract
PASS
Full verification

Manifest identity, reference classes, interfaces, suite, and production records.

Formulas

Core equations used by this calculator.

Equationax² + bx + c = 0 (a ≠ 0)
Quadratic formulax = (−b ± √(b² − 4ac)) / (2a)
DiscriminantΔ = b² − 4ac
Vertexxᵥ = −b/(2a), yᵥ = f(xᵥ)
iΔ > 0 → two distinct real roots; Δ = 0 → one repeated real root; Δ < 0 → two complex roots. Fractions such as 3/4 are accepted for a, b, c.

How to use

1

Enter coefficients a, b, c

From ax² + bx + c = 0. a must be nonzero. Decimals or fractions (3/4) work.

2

Read the roots

See x₁ / x₂, discriminant Δ, vertex, axis, and a live parabola of y = ax²+bx+c.

3

Follow the steps

The work panel expands the quadratic formula with normalized coefficients.

Example calculations

Common configurations with formula and result.

ϟ

Two real roots

x² − 6x + 8 = 0

Δ = 4
x = 2, x = 4
ϟ

Repeated root

x² − 4x + 4 = 0

Δ = 0
x = 2
ϟ

Complex roots

x² + 2x + 5 = 0

Δ = −16
x = −1 ± 2i
ϟ

Irrational real roots

x² − 8x + 5 = 0

4 ± √11
≈ 7.317, 0.683

Discriminant cases

Common values at a glance.

ΔRoots
Δ > 0Two distinct real roots
Δ = 0One repeated real root
Δ < 0Two complex conjugate roots
i Example: x² − 6x + 8 = 0 → Δ = 4 → x = 2 and x = 4. x² + 2x + 5 = 0 → Δ = −16 → x = −1 ± 2i.

Quadratic Formula calculator specification

Version 1.1.2 · Engine tested

Calculation status

Review policy · Evidence

Definition
A quadratic equation is a second-degree polynomial ax² + bx + c = 0 with a ≠ 0. Its solutions (roots) are given by the quadratic formula x = (−b ± √(b² − 4ac)) / (2a). The discriminant Δ = b² − 4ac tells whether the roots are two real, one repeated real, or a complex conjugate pair.
What it calculates
Roots of ax²+bx+c=0 via the quadratic formula, with discriminant, vertex, axis of symmetry, optional factorization, and a live parabola of y = ax²+bx+c.
Inputs
  • Quadratic coefficient a ≠ 0
  • Linear coefficient b
  • Constant c
Outputs
  • x₁ and x₂ (real or complex conjugate pair)
  • Discriminant Δ and root type
  • Vertex (xᵥ, yᵥ), axis x = xᵥ, y-intercept, opens up/down
  • Live parabola with root, vertex, and intercept markers
  • Factor form when roots are small rationals
Formula
x = (−b ± √Δ)/(2a), Δ = b²−4ac
Assumptions
  • a ≠ 0; coefficients are real numbers (fractions allowed).
Units
  • Dimensionless (or consistent units of x)
Boundary conditions
  • Unrepresentable required discriminant, root or vertex → NUMERICAL_RANGE_ERROR; rescale coefficients and rhs
  • a = 0 → rejected as not quadratic
Example
x² − 5x + 6 = 0 → x = 2, x = 3
Validation cases

4 published on this page · 9/9 tests · Production surface contract 5/5 · View evidence

  • a=1,b=-6,c=8 → 2, 4
  • a=1,b=-4,c=4 → 2
  • a=1,b=2,c=5 → −1 ± 2i
  • a=1,b=-8,c=5 → 4 ± √11
Sources
  • Margaret Stevens — The Maths Workbook (University of Oxford) — Chapter 1, §3.4: Quadratic Equations
    Supports: The quadratic formula, discriminant and real-root multiplicity. Negative discriminants have no real roots; the calculator’s complex-root representation uses the separately cited complex-number definitions. This does not validate the numerical cancellation-avoiding algorithm. Mathematical reference only; not implementation validation or an endorsement of CalculatorX.
  • Gilbert Strang, Calculus — Chapter 9: Polar Coordinates and Complex Numbers (MIT OpenCourseWare) — §9.4 Complex Numbers
    Supports: Complex arithmetic, conjugates, modulus and argument, polar/exponential multiplication and division, de Moivre’s formula and complex roots. Noninteger powers require a specified branch; those branch and numerical policies remain CalculatorX’s own contract. Mathematical reference only; not implementation validation or an endorsement of CalculatorX.
Calculation version
1.1.2

Background

Interpretation and common distinctions.

What does this quadratic formula calculator compute?

A quadratic equation is a second-degree polynomial ax² + bx + c = 0 with a ≠ 0. Its solutions (roots) are given by the quadratic formula x = (−b ± √(b² − 4ac)) / (2a). The discriminant Δ = b² − 4ac tells whether the roots are two real, one repeated real, or a complex conjugate pair.

The published formula or method is x = (−b ± √Δ)/(2a), Δ = b²−4ac. The following references support the stated mathematics or method:

  • Margaret Stevens — The Maths Workbook (University of Oxford): The quadratic formula, discriminant and real-root multiplicity. Negative discriminants have no real roots; the calculator’s complex-root representation uses the separately cited complex-number definitions. This does not validate the numerical cancellation-avoiding algorithm. Mathematical reference only; not implementation validation or an endorsement of CalculatorX.
  • Gilbert Strang, Calculus — Chapter 9: Polar Coordinates and Complex Numbers (MIT OpenCourseWare): Complex arithmetic, conjugates, modulus and argument, polar/exponential multiplication and division, de Moivre’s formula and complex roots. Noninteger powers require a specified branch; those branch and numerical policies remain CalculatorX’s own contract. Mathematical reference only; not implementation validation or an endorsement of CalculatorX.

Which inputs and limits should you check?

The discriminant determines real and complex root cases. An inequality additionally requires the correct sign intervals and endpoint inclusion.

The worked example uses x² − 6x + 8 = 0 with Δ = 4. Compare it with the Example calculations and the complete result for the same inputs.

How can you verify and cite this result?

CalculatorX is responsible for this page. The mathematical references above explain the model; implementation checks and their scope are documented separately in the math.quadratic v1.1.2 Evidence and capability contract. Read the displayed verification and production state together with the specification's numerical limits.

Use the clean calculator URL to cite the tool. A shared input link identifies a particular calculation. Content updates, numerical verification, and domain reviews have separate dates and scopes.

What is a quadratic equation?

A quadratic equation is a second-degree polynomial:

ax² + bx + c = 0 (a ≠ 0)

  • a — quadratic coefficient
  • b — linear coefficient
  • c — constant term

The solutions are the roots (where the parabola y = ax²+bx+c meets the x-axis, when real).

Quadratic formula

x = (−b ± √(b² − 4ac)) / (2a)

Discriminant

Δ = b² − 4ac

Δ Meaning
> 0 Two distinct real roots
= 0 One repeated real root
< 0 Two complex conjugate roots

Vertex and axis

xᵥ = −b/(2a), yᵥ = a xᵥ² + b xᵥ + c

The axis of symmetry is the vertical line x = xᵥ.

Numerical scope and reproducible interpretation

The accepted inputs are finite binary64 real coefficients with a nonzero a. Coefficients accept decimal/scientific notation, en-US grouping, Unicode minus, or an integer fraction. Each text token is limited to 512 characters. Fractions are converted once to binary64; exact decisions below refer to those accepted values. Nonzero text that rounds to zero rejects NUMERIC_UNDERFLOW. Missing, blank or null coefficients remain invalid. Matching aliases are accepted; conflicting aliases, unknown fields and solve-mode inequality inputs are rejected.

The discriminant, vertex and shifted inequality constant c minus rhs use bounded exact rational arithmetic. This prevents rounded subtraction from changing two distinct roots into a repeated root or an empty solution set. A scaled square root and cancellation-resistant q formula produce roots. A required discriminant, root or vertex outside finite binary64, or two distinct roots that collapse to the same binary64 endpoint, rejects NUMERICAL_RANGE_ERROR. Exact arithmetic is limited to 16384 bits. Finite inputs do not guarantee success; rescaling changes rounding and must be considered carefully.

Equation mode reports roots in the plus/minus formula order, the discriminant, vertex, axis and y-intercept. Inequality mode supports lt, le, gt and ge; an omitted right-hand side defaults to zero, while an explicitly blank right-hand side is invalid. The inequality entry locks its mode. Repeated-root inequalities can return a point, a punctured line, all real numbers or the empty set. Close roots can be highly sensitive to coefficient perturbations. Exact branch decisions do not imply exact root coordinates.

Display preserves complete nonzero and distinct binary64 values. Optional factorization appears only when exact coefficient reconstruction succeeds; nearby simple fractions are not substituted for coefficients. Parabola samples use exact rational Horner arithmetic on accepted inputs. Graphs are explicitly omitted when finite coordinates, clusters, tiny features or sampling range cannot be displayed faithfully. Full scalar results, interval endpoints, raw inputs and the typed result pack remain in CSV/JSON exports. CSV text is neutralized against spreadsheet formulas.

The independent reference uses CPython Fraction predicates and Decimal800/1100 square roots, with identical rounded reference results at both precisions. It checks 66 complete result packs, including four inequality operators, negative leading coefficients, repeated/complex roots, fractions, extreme scales, cancellation and raw aliases. The fixed-vector root budget is at most four ULP; other numeric fields, types, topology and presentation are strict. This is not a global error bound or a guarantee of bitwise agreement across runtimes. Historical 1.1.1 verification artifacts remain available; the candidate uses a new complete-pack suite.

Typing computes locally. Share URLs and REST/MCP requests transmit inputs and may enter browser, server or intermediary logs. Old version links warn before current-engine execution; they do not replay a historical runtime. See NIST DLMF polynomial definitions and Python Decimal arithmetic for background; these references are not implementation verification or endorsement.

Frequently asked questions

Key distinctions behind the calculation.

What is a quadratic equation?

A polynomial equation of degree two: ax² + bx + c = 0 with a ≠ 0. Its graph is a parabola.

What is the quadratic formula?

x = (−b ± √(b² − 4ac)) / (2a). It gives the roots for any quadratic with a ≠ 0.

What does the discriminant tell me?

Δ = b² − 4ac. Positive → two real roots; zero → one repeated root; negative → two complex roots.

What if a = 0?

Then the equation is linear (bx + c = 0), not quadratic. This calculator requires a ≠ 0.

What is the vertex?

The turning point of the parabola. xᵥ = −b/(2a) is also the axis of symmetry; yᵥ = a xᵥ² + b xᵥ + c.

Are complex roots allowed?

Yes. When Δ < 0 the roots are written as real ± imaginary i.

Do you solve quadratic inequalities?

Yes. /calc/math/quadratic-inequality is mode=inequality on this same engine. Linear inequalities stay at /linear-inequality.