Lemma
math, backwards
the hook · the product rule

A line meets a parabola in two points. Two circles in two. A cubic and a line in three. Multiply the degrees of the curves and you get the count.

Except parallel lines meet in zero. A line tangent to a parabola in one. Two disjoint circles in zero. The product rule breaks. The repair is not a footnote — it rewrites what the plane is.

The repair takes three moves. The widget below runs through them.

tool spec
what

Two algebraic curves of degrees dd and ee in the projective plane meet in exactly ded·e points — counted with multiplicity, over the algebraic closure. The naive count fails three ways; the theorem is the simultaneous repair.

applies when

You need an exact intersection count, not “around d·e”. Elliptic-curve cryptography (the chord-and-tangent group law uses Bezout to know that a line meets a cubic in exactly 3 points), conic intersections, classical algebraic geometry, computer algebra system invariants.

breaks when

Stay on the affine plane over ℝ and the count fails everywhere — parallel lines (need projective infinity), tangents (need multiplicity), disjoint real circles (need complex coordinates). The three failures are not bugs in Bezout; they are signals that your plane is too small. Open transcendental curves (sin x meets a line in infinitely many points) are out of scope — not algebraic.

Widget — Two Conics, Four Intersections
real4
complex0
with multiplicity > 10
total (Bezout)4 = 2 · 2
Re xIm xcomplex x-plane
Try the four presets in order. General gives 4 real intersections (Bezout satisfied without help). Tangent drops to 3 visible — turn on show multiplicity: the tangent point counts twice. Disjoint gives 0 visible — turn on show complex: the four intersections live off the real plane. Partial mixes both fixes. Every preset totals 4.
the arc
1

Three failures of the naive count

Take a line of degree 1 and a parabola of degree 2. Substitute y=mx+cy = mx + c into y=x2y = x² and you get a quadratic in x — two roots, two intersections. 12=21 · 2 = 2. Clean. Now break it three ways: (a) two parallel lines y=xy = x and y=x+1y = x + 1 — substitute and you get 0=10 = 1, a contradiction; zero intersections, not the predicted 11=11 · 1 = 1. (b) The line y=0y = 0 is tangent to y=x2y = x² at the origin — they meet at one point, not two. (c) Two disjoint unit circles x2+y2=1x² + y² = 1 and (x3)2+y2=1(x − 3)² + y² = 1 share zero points, not four.

The product rule is right often enough to look like a theorem, and wrong often enough to look like a guess. Either it’s a guess, or the plane is the wrong stage. We take the second option.

2

Fix #1 — the projective plane

A line is a direction plus an offset. Parallel lines share a direction. Suppose we add a new point to the plane for each direction — call it the for that direction. Then any two parallel lines, sharing a direction, share that one extra point. Two non-parallel lines still meet at their usual one place. So every two distinct lines now meet at exactly one point. Add up all the points at infinity (one per direction) and you’ve added one extra line — the line at infinity. The plane plus that line is the RP2ℝℙ².

The clean way to write a projective point is [X:Y:Z][X : Y : Z] — three numbers, not all zero, up to overall scale (so [2:2:0],[1:1:0],[5:5:0][2 : 2 : 0], [1 : 1 : 0], [5 : 5 : 0] are the same point). Affine (ordinary, finite) points are [x:y:1][x : y : 1]. Points at infinity are [X:Y:0][X : Y : 0]: the direction (X,Y)(X, Y). The two parallel lines from §1 both pass through [1:1:0][1 : 1 : 0] — the “direction (1, 1)” point. Failure (a) is fixed.

3

Fix #2 — multiplicity

A tangent line meets a parabola at one geometric point but a double algebraic point. Substitute y=0y = 0 into y=x2y = x²: the equation becomes x2=0x² = 0, with x=0x = 0 as a repeated root. Polynomials remember what pictures forget. Define the of two curves at a point as the order to which the eliminated polynomial vanishes there. A transverse crossing is multiplicity 1; a simple tangency is 2; a triple tangency 3; and so on. Bezout’s count is multiplicity-counted, never raw.

In the widget above, switch to the tangent preset and turn on show multiplicity: the tangent point earns its ×2×2 label, and the visible 3 jumps to 4. Failure (b) fixed.

4

Fix #3 — complex coordinates

The disjoint circles x2+y2=1x² + y² = 1 and (x3)2+y2=1(x − 3)² + y² = 1 seem to meet nowhere. Subtract them: 6x+9=0−6x + 9 = 0, so x=3/2x = 3/2. At that x the first circle gives y2=19/4=5/4y² = 1 − 9/4 = −5/4 — no real yy, but two perfectly good complex ones: y=±i5/2y = ± i \sqrt{5} / 2. The two circles really do meet at two points (3/2,±i5/2)(3/2, ± i \sqrt{5} / 2) — they just live in C2ℂ², not R2ℝ².

In the widget, the disjoint preset shows zero real intersections — turn on show complex, and four open dots appear in the side panel: the four Bezout-promised intersections, projected onto the complex x-plane. Failure (c) fixed.

# The disjoint-circles example, hand-eliminated.
# C1: x² + y² − 1     = 0
# C2: (x − 3)² + y² − 1 = 0
# Subtract: −6x + 9 = 0  →  x = 3/2.
# Plug back into C1: y² = 1 − 9/4 = −5/4  →  y = ± i √5 / 2.
import cmath
x = 3 / 2
ys = (cmath.sqrt(1 - x**2), -cmath.sqrt(1 - x**2))
[(x, y) for y in ys]
# → [(1.5, 1.118j), (1.5, -1.118j)]   (two complex intersections)
5

The statement

Three fixes in: , complex coordinates, . The product rule is now a theorem.

Bezout. Two plane curves of degrees dd and ee with no common component meet — in CP2ℂℙ², counted with multiplicity — in exactly ded · e points.

6

Why it works — the resultant

Eliminate one variable. Two polynomials f(x,y),g(x,y)f(x, y), g(x, y), viewed as polynomials in yy with coefficients depending on xx, share a root iff their in yy vanishes. If ff has yy-degree dd and gg has yy-degree ee, the resultant is a polynomial in xx of degree ded · e — and its ded · e complex roots (with multiplicity) are the xx-coordinates of the ded · e intersections. Two conics: a quartic in xx. Four roots. Four intersections. The widget above is exactly this quartic, solved.

# Sylvester resultant of two conics in y → quartic in x.
import numpy as np

def resultant_y(c1, c2):
    """Each conic c = (a, b, c, d, e, k) for a x² + b xy + c y² + d x + e y + k.
       In y: A_i y² + B_i(x) y + C_i(x), with A_i = c_i, B_i = b_i x + e_i,
       C_i = a_i x² + d_i x + k_i.  Resultant in y of two quadratics is
       (A1 C2 − A2 C1)² − (A1 B2 − A2 B1)(B1 C2 − B2 C1)."""
    a1, b1, cc1, d1, e1, k1 = c1
    a2, b2, cc2, d2, e2, k2 = c2
    P = np.polynomial.Polynomial
    A1, A2 = cc1, cc2
    B1, B2 = P([e1, b1]), P([e2, b2])
    C1, C2 = P([k1, d1, a1]), P([k2, d2, a2])
    return (A1*C2 - A2*C1)**2 - (A1*B2 - A2*B1)*(B1*C2 - B2*C1)

# General preset: x²/4 + y² − 1 = 0   and   x² + y²/4 − 1 = 0
c1 = (1/4, 0, 1,    0, 0, -1)
c2 = (1,   0, 1/4,  0, 0, -1)
sorted(np.round(resultant_y(c1, c2).roots(), 4))
# → [(-0.8944+0j), (-0.8944+0j), (0.8944+0j), (0.8944+0j)]
#   (each root with multiplicity 2; the two y-values per x come back from c1)
7

Where this shows up — same count, two pillars

Bezout begins as a counting theorem for intersections, then becomes the bookkeeping that makes elliptic-curve addition reliable. The product ded \cdot e is the same number on both sides; only what gets counted differs.

graphics : how many points two visible conics actually share — once
         multiplicity, projective points, and complex roots are counted.
finance  : the third intersection of an elliptic curve with a chord — the
         hidden third point that defines elliptic-curve addition.

Curve intersections — two conics in the plane meet in exactly four points, once you accept the three fixes (projective plane, multiplicity, complex roots). The widget runs the count: tangent contact contributes 2 to the multiplicity, parallel asymptotes contribute points-at-infinity, and disjoint conics meet at four complex points. Bezout decides what “two conics meet” means.

Bitcoin signature — an elliptic curve has degree 3; a chord has degree 1; Bezout says they meet in 31=33 \cdot 1 = 3 points. Two of those points are the chord’s endpoints; the third is the sum under elliptic-curve addition. The signature scheme is built on this third-point construction iterated millions of times — the count has to be exact, every time.

Same theorem, different ledger: graphics asks “where do these two curves meet”; finance asks “what is the third point on this chord”. Bezout guarantees the third point exists and is unique, and that is why ECDSA is well-defined.

exercises · 손으로 풀기
1read the widget

Switch to the disjoint preset. The counter shows real = 0. Which toggles do you need to set so the visible total reaches 4? Then do the same for tangent and partial. State, in one sentence each, what each preset is “missing” from the naive view.

2compute by hand · degree 1 × 2no calculator

Find all intersections of y=x2y = x² and y=2x1y = 2x − 1. Bezout predicts 1 · 2 = 2. Identify what (in this case) closes the gap between geometry and algebra.

3infinity coordinates

Two parallel lines y=xy = x and y=x+1y = x + 1. Write their unique intersection as a point [X:Y:Z][X : Y : Z] in . (Hint: rewrite each line as a homogeneous equation in X,Y,ZX, Y, Z and solve.)

4the evil one · cubic at the origin

Consider y=x3y = x³ (cubic, degree 3) and the line y=0y = 0 (degree 1). Bezout predicts 3 intersections. Geometrically, you see one — at the origin. State precisely how Bezout is satisfied, and contrast this case with exercise 2.

5two-circle infinity

Take any two non-coincident circles x2+y2+ax+by+c=0x² + y² + a x + b y + c = 0. Their degrees multiply to 4, but you typically see at most 2 affine intersections. Where are the other two? (Hint: and look at the line at infinity Z=0Z = 0.) These two points have a name. What is the consequence: are they shared by all circles, or are they specific to a given pair?

6synthesis · the elliptic curve seed

Let E:y2=x3xE : y² = x³ − x (degree 3) and a line L:y=mx+cL : y = m x + c (degree 1). Bezout: three intersections. Suppose all three are affine, with x-coordinates x1,x2,x3x₁, x₂, x₃. Show that x1+x2+x3=m2x₁ + x₂ + x₃ = m². (This identity is the seed of the elliptic-curve group law — given two points on E, the third intersection of their chord is geometrically determined, and Vieta gives its x-coordinate for free.)

glossary · used on this page · 6
point at infinity·무한원점
An extra "point" added to the affine plane for each direction, so that parallel lines — which share a direction — meet there. All such points together form the line at infinity. In the projective plane, every two distinct lines meet at exactly one point, parallels included.
projective plane·사영평면
The affine plane plus one extra "point at infinity" for every direction — so parallel lines, which share a direction, meet at the same one of those points. With this addition, any two distinct lines meet at exactly one point. Real version: ℝℙ². Complex version: ℂℙ². Bezout's theorem works in ℂℙ², not ℝ².
intersection multiplicity·교차 중복도
The number of times an intersection point should be counted. A transverse crossing counts once. A simple tangency counts twice — algebraically, eliminating one variable produces a polynomial with a double root at that point. A higher-order tangency counts three, four, … times. Bezout's theorem is the count with multiplicity: a curve of degree d and a curve of degree e meet, multiplicity-counted, in exactly de points.
resultant·종결식
A polynomial built from two polynomials P, Q that vanishes exactly when they share a root. For two conics (degree 2 each in y, with coefficients depending on x), eliminating y via the resultant produces a polynomial in x of degree 2·2 = 4. Its 4 (complex, with multiplicity) roots are the x-coordinates of the 4 intersection points Bezout promises.
homogenize·동차화
Rewrite an affine equation in projective coordinates: substitute x → X/Z, y → Y/Z, then clear Z so every term shares one total degree. Setting Z = 1 brings the affine version back. Example: y = x² becomes YZ = X².
Vieta's formulas·비에타 공식
For a monic polynomial xⁿ + aₙ₋₁ xⁿ⁻¹ + ⋯ + a₀ with roots r₁, …, rₙ: the sum of roots is −aₙ₋₁, the product is (−1)ⁿ · a₀, and every elementary symmetric function of the roots is the corresponding coefficient (with alternating signs). Read off without solving.