Polynomials and Factoring
Polynomials and Factoring
Definition: A polynomial is an algebraic expression built from a variable raised to whole-number powers, each multiplied by a coefficient and combined by addition or subtraction; factoring reverses that construction, rewriting a polynomial as a product of simpler polynomials that multiply back out to the original.
How It Works
- Each piece of a polynomial separated by a + or - sign is a term, such as 3x⁴, -2x², or -7 in the polynomial 3x⁴ - 2x² + x - 7.
- The polynomial’s degree is the highest exponent that appears anywhere in it (4, in that example), and the leading coefficient is the number multiplying that highest-degree term (3); together they dominate the curve’s overall shape.
- Standard form orders the terms from highest degree to lowest, e.g. f(x) = 2x³ - 5x² + x - 6, so the degree and leading coefficient are always the first thing visible.
- Factoring rewrites a polynomial as a product of simpler polynomials that multiply back out to the original; it is the algebraic reverse of expanding.
- Four everyday factoring techniques, roughly in the order worth trying them: pull out the greatest common factor (GCF) shared by every term; spot a difference of squares, a² - b² = (a + b)(a - b); reverse-engineer a trinomial ax² + bx + c into two binomials; or use grouping to factor a four-term polynomial in matched pairs.
- The Factor Theorem says (x - r) is a factor of f(x) exactly when f(r) = 0, i.e. exactly when r is a root — factoring and root-finding are two views of the same underlying fact.
- The Remainder Theorem says dividing f(x) by (x - r) always leaves a remainder equal to f(r), which is why synthetic division at r instantly reveals whether r is a root (remainder 0) without a full long division.
- End behavior — what f(x) does as x runs toward +∞ and -∞ — is decided entirely by the degree’s parity and the leading coefficient’s sign: odd degree sends the two ends in opposite directions, even degree sends them the same direction, and a positive leading coefficient makes the right end rise.
- A root’s multiplicity is how many times its factor (x - r) repeats in the fully factored polynomial; odd multiplicity crosses the x-axis at that root, while even multiplicity only touches the axis and turns back without crossing.
- The Fundamental Theorem of Algebra guarantees every degree-n polynomial has exactly n roots, counting multiplicity and allowing complex roots — so factoring over the complex numbers always finishes completely, into n linear factors.
Illustration
var r1In = document.getElementById(‘poly-r1’); var r2In = document.getElementById(‘poly-r2’); var r3In = document.getElementById(‘poly-r3’); var r1Out = document.getElementById(‘poly-r1-out’); var r2Out = document.getElementById(‘poly-r2-out’); var r3Out = document.getElementById(‘poly-r3-out’); var resetBtn = document.getElementById(‘poly-reset’);
function fmt(n) { return (Math.round(n * 100) / 100).toFixed(2).replace(/.00$/, ‘.0’); }
// Signed term like ” - 4.0x” or ” + 0.0x²”, used to build the expanded readout. function fmtTerm(coef, suffix) { var sign = coef < 0 ? ’ - ’ : ’ + ’; return sign + fmt(Math.abs(coef)) + suffix; }
// Signed linear factor like “(x + 2.0)” or “(x - 3.5)”; a root of exactly // 0 prints as the bare “(x)” instead of the clunkier “(x - 0.0)”. function fmtFactor(r) { if (Math.abs(r) < 0.0001) return ‘(x)’; return r < 0 ? ‘(x + ’ + fmt(-r) + ’)’ : ‘(x - ’ + fmt(r) + ’)’; }
function update() { var r1 = parseFloat(r1In.value); var r2 = parseFloat(r2In.value); var r3 = parseFloat(r3In.value); r1Out.textContent = fmt(r1); r2Out.textContent = fmt(r2); r3Out.textContent = fmt(r3);
// Expand (x - r1)(x - r2)(x - r3) into x³ + bx² + cx + d.
var b = -(r1 + r2 + r3);
var c = (r1 * r2 + r1 * r3 + r2 * r3);
var d = -(r1 * r2 * r3);
// Sample the curve across the visible x range in fine steps so a double
// or triple root renders as a smooth tangency instead of a rough kink.
// Clamp y so a steep cubic still draws a sensible path instead of
// shooting far off-chart.
var pts = [];
for (var x = -10; x <= 10.001; x += 0.2) {
var y = x * x * x + b * x * x + c * x + d;
if (y > 12) y = 12;
if (y < -12) y = -12;
var p = toPx(x, y);
pts.push((pts.length === 0 ? 'M' : 'L') + p[0].toFixed(1) + ',' + p[1].toFixed(1));
}
curve.setAttribute('d', pts.join(' '));
var p1 = toPx(r1, 0), p2 = toPx(r2, 0), p3 = toPx(r3, 0);
root1.setAttribute('cx', p1[0]); root1.setAttribute('cy', p1[1]);
root2.setAttribute('cx', p2[0]); root2.setAttribute('cy', p2[1]);
root3.setAttribute('cx', p3[0]); root3.setAttribute('cy', p3[1]);
expandedTxt.textContent = 'f(x) = x³' + fmtTerm(b, 'x²') + fmtTerm(c, 'x') + fmtTerm(d, '');
factoredTxt.textContent = 'f(x) = ' + fmtFactor(r1) + fmtFactor(r2) + fmtFactor(r3);
if (r1 === r2 && r2 === r3) {
multTxt.textContent = 'Triple root at x = ' + fmt(r1) + ' (multiplicity 3): the curve flattens through the axis instead of curving away.';
} else if (r1 === r2 || r1 === r3 || r2 === r3) {
var repeated = (r1 === r2) ? r1 : (r1 === r3 ? r1 : r2);
multTxt.textContent = 'Root x = ' + fmt(repeated) + ' has multiplicity 2: the curve touches the x-axis there but does not cross.';
} else {
multTxt.textContent = 'All three roots are distinct (multiplicity 1 each): the curve crosses the x-axis at each one.';
}
}
[r1In, r2In, r3In].forEach(function (el) { el.addEventListener(‘input’, update); }); resetBtn.addEventListener(‘click’, function () { r1In.value = -2; r2In.value = 0; r3In.value = 2; update(); });
update(); })();
Under the Hood
Expanding the general factored form (x - r1)(x - r2)(x - r3) shows exactly where the widget’s coefficients come from:
f(x) = (x - r1)(x - r2)(x - r3)
f(x) = [x² - (r1 + r2)x + r1r2](x - r3) FOIL the first two factors together
f(x) = x³ - (r1+r2)x² + r1r2x - r3x² + r3(r1+r2)x - r1r2r3 distribute (x - r3) across the trinomial
f(x) = x³ - (r1+r2+r3)x² + (r1r2+r1r3+r2r3)x - r1r2r3 collect the x² terms, then the x terms
- The widget above evaluates exactly this formula for whatever r1, r2, r3 the sliders hold, which is why the expanded and factored readouts always describe the same curve.
As a check, plug in the widget’s default roots -2, 0, and 2: (x - 2)(x)(x + 2) = x[(x - 2)(x + 2)] = x(x² - 4) = x³ - 4x, the same expanded form shown when the widget first loads.
Worked Example 1: Greatest common factor (GCF). Given: 8x³ + 12x². Step 1: find the GCF of the coefficients, 8 and 12, which is 4, and the GCF of the variable parts, x³ and x², which is x²; the overall GCF is 4x². Step 2: divide each term by 4x²: 8x³ ÷ 4x² = 2x, and 12x² ÷ 4x² = 3. Answer: 8x³ + 12x² = 4x²(2x + 3).
Worked Example 2: Difference of squares. Given: x² - 49. Step 1: recognize both terms as perfect squares, x² = (x)² and 49 = 7². Step 2: apply a² - b² = (a + b)(a - b) with a = x and b = 7. Answer: x² - 49 = (x + 7)(x - 7).
Worked Example 3: Trinomial factoring. Given: x² + 7x + 12. Step 1: find two numbers that multiply to the constant term (12) and add to the middle coefficient (7): 3 and 4 satisfy both, since 3×4 = 12 and 3+4 = 7. Step 2: write those numbers as the constants in two binomials: (x + 3)(x + 4). Answer: x² + 7x + 12 = (x + 3)(x + 4), which checks out since x² + 4x + 3x + 12 = x² + 7x + 12.
History
- Mathematicians solved specific low-degree polynomial problems geometrically for millennia before symbolic algebra existed, but general factoring techniques needed proper algebraic notation to develop.
- The Italian Renaissance cracked the next two degrees: Scipione del Ferro and Niccolò Tartaglia independently solved the general cubic in the early 1500s, and Gerolamo Cardano published the method in his 1545 Ars Magna, which also included his student Lodovico Ferrari’s solution to the general quartic.
- No one could find a similar radical formula for degree-five (quintic) equations despite two more centuries of effort, which quietly hinted that no such formula might exist at all.
- Proving that every degree-n polynomial has n roots (the Fundamental Theorem of Algebra) took similarly long: Jean le Rond d’Alembert (1746) and Leonhard Euler both attempted proofs that turned out to be incomplete, and Carl Friedrich Gauss supplied the first widely accepted proof in his 1799 doctoral dissertation.
- Paolo Ruffini argued in 1799 that the general quintic has no radical solution, but his proof had gaps; Niels Henrik Abel published a correct, complete proof in 1824, now called the Abel-Ruffini theorem.
- Évariste Galois, in the early 1830s, built an entire theory of symmetry (now called Galois theory) that explains precisely which polynomial equations can be solved by radicals and which cannot, turning Abel’s single result into a complete classification.
Why It Matters
- Factoring is the fastest exact route to a polynomial equation’s solutions, avoiding numerical approximation whenever the roots happen to be rational.
- Computer algebra systems, curve-fitting software, and graphics engines all rely on polynomial root-finding and factoring as basic building blocks.
- Control engineers judge whether a system — an autopilot, a suspension, a power grid — is stable by checking whether every root of its characteristic polynomial lies in a safe region.
- Cryptographic schemes and error-correcting codes depend on how polynomials factor over finite fields, a direct descendant of the same factoring ideas used here over the integers.
- Knowing a polynomial’s degree, leading coefficient, and root multiplicities lets you sketch its entire shape, end behavior included, without plotting a single extra point.
- Optimization problems in economics, engineering, and physics frequently reduce to finding where a polynomial (or its derivative) equals zero, exactly what factoring finds directly.
Common Pitfalls
- Forgetting a root’s multiplicity: reading (x - 2)²(x + 1) as having two roots when x = 2 is really a double root, and the full polynomial is still degree 3.
- Sign errors while factoring trinomials, especially picking the wrong signs for the two numbers that must multiply to a negative constant term.
- Confusing “no real roots” with “no roots at all” — the Fundamental Theorem of Algebra guarantees a degree-n polynomial always has n roots counting multiplicity, just not always real ones.
- Skipping the GCF step first, then struggling to factor a trinomial or use grouping on an expression that still has a common factor hiding in every term.
- Expecting every polynomial to factor into clean integers. Most do not, and that is expected, not a sign of a mistake.
- Judging end behavior from the leading coefficient’s sign alone, without also checking whether the degree is even or odd; both together decide which way the two ends point.
Comparison
| Technique | When It Applies | Recognizable Pattern | Example |
|---|---|---|---|
| GCF | Every term shares a common factor | Same number and/or variable divides all terms | 8x³ + 12x² = 4x²(2x + 3) |
| Difference of squares | Exactly two terms, both perfect squares, subtracted | a² - b² | x² - 49 = (x + 7)(x - 7) |
| Trinomial factoring | Three terms, degree 2 in the variable | x² + bx + c | x² + 7x + 12 = (x + 3)(x + 4) |
| Grouping | Four terms, no single GCF across all of them | ax + ay + bx + by, pairs share factors | x³ + 3x² + 2x + 6 = (x + 3)(x² + 2) |
FAQ
Is a polynomial’s degree the same as its number of terms? No. Degree is set by the highest exponent present, not by how many terms are written. x⁵ + 1 has only two terms but is degree 5, while x² + x + 1 has three terms but is only degree 2.
Can every polynomial be factored? Over the complex numbers, yes — the Fundamental Theorem of Algebra guarantees a degree-n polynomial breaks into n linear factors. Over the real numbers, some quadratic factors (from complex-conjugate root pairs) resist further breakdown; over the integers, most polynomials simply do not factor into clean pieces at all.
Why does an even-multiplicity root make the curve touch the x-axis instead of crossing it? Near a root r with even multiplicity, the factor (x - r) is raised to an even power, so it stays non-negative (or non-positive) on both sides of r. The rest of the polynomial’s sign carries through unchanged across r, so the curve bounces off the axis instead of passing through; odd multiplicity flips the sign of that factor across r, so the whole curve’s sign flips too, and it crosses.
Example
A classic use case: cutting a square of side x from each corner of a 12-by-12 sheet and folding up the sides makes an open box with volume V(x) = x(12 - 2x)². Expanding gives V(x) = 4x³ - 48x² + 144x, a cubic with a root at x = 0 and a doubled root at x = 6 — exactly the kind of repeated root the widget above lets you build and watch the curve touch the axis at.
Related Terms
Referenced by