*This post assumes familiarity with some basic concepts in algebraic topology, specifically what a group is and the definition of the fundamental group of a topological space.*

The fundamental theorem of algebra has quite a few number of proofs (enough to fill a book!). In fact, it seems a new tool in mathematics can prove its worth by being able to prove the fundamental theorem in a different way. This series of proofs of the fundamental theorem also highlights how in mathematics there are many many ways to prove a single theorem, and in re-proving an established theorem we introduce new concepts and strategies. And perhaps most of all, we accentuate the unifying beauty of mathematics.

**Problem:** Let $ p(z)$ be a non-constant polynomial with coefficients in $ \mathbb{C}$. Prove $ p(z)$ has a root in $ \mathbb{C}$.

**Solution:** We may assume without loss of generality that $ p(z)$ is monic. So let

$ \displaystyle p(z) = a_0 + a_1z + \dots + a_{n-1}z^{n-1} + z^n$.

Supposing $ p(z)$ has no roots in $ \mathbb{C}$, we will show $ p$ is constant. First, consider for a fixed $ r \in \mathbb{C}$ the loop

$ \displaystyle f_r(s) = \frac{p(re^{2 \pi is})/p(r)}{\left | p(re^{2 \pi is})/p(r) \right |}$

Indeed, by assumption the denominators are never zero, so this function is continuous for all $ s \in [0,1]$. Further, each value $ f_r(s)$ is on the unit circle in $ \mathbb{C}$ by virtue of the scaling denominator ($ |f_r(s)| = 1$ for all $ s,r$). Finally, $ f_r(0) = (p(r)/p(r)) / |p(r)/p(r)| = 1,$ and $ f_r(1)$ yields the same value, so this is a closed path based at 1.

We note this function is continuous in both $ s$ and $ r$ (indeed, they are simply rational functions defined for all $ s,r$), so that $ f_r(s)$ is a homotopy of loops as $ r$ varies. If $ r=0,$ then the function is constant for all $ s$, and so for any fixed $ r,$ the loop $ f_r(s)$ is homotopic to the constant loop.

Now fix a value of $ r$ which is larger than both $ |a_0| + \dots + |a_{n-1}|$ and $ 1$. For $ |z| = r$, we have

$ \displaystyle |z^n| = r \cdot r^{n-1} > (|a_0| + \dots + |a_{n-1}|)|z^{n-1}|$

And hence $ |z^n| > |a_0 + a_1z + \dots + a_{n-1}z^{n-1}|$. It follows that the polynomial $ p_t(z) = z^n + t(a_{n-1}z^{n-1} + \dots + a_0)$ has no roots when both $ |z| = r$ and $ 0 \leq t \leq 1$. Fixing this $ r$, and replacing $ p$ with $ p_t(z)$ in the formula for $ f_r(s)$, we have a homotopy from $ f_r(s)$ (when $ t=1$, nothing is changed) to the loop which winds around the unit circle $ n$ times, where $ n$ is the degree of the polynomial. Indeed, plug in $ t=0$ to get $ f_r(s) = (r^ne^{2 \pi ins}/r^n)/|r^ne^{2 \pi ins}/r^n|$, which is the loop $ \omega_n(s) = e^{2 \pi ins}$.

In other words, we have shown that the homotopy classes of $ f_r$ and $ \omega_n$ are equal, but $ f_r$ is homotopic to the constant map. Translating this into fundamental groups, as $ \pi_1(S^1,1) = \mathbb{Z}$, we note that $ [\omega_n] = [f_r] = 0$, but if $ \omega_n = 0$ then it must be the case that $ n = 0$, as $ \mathbb{Z}$ is the free group generated by $ \omega_1$. Hence, the degree of $ p$ to begin with must have been 0, and so $ p$ must be constant. $ \square$

Thank you! The details you provided really helped me to understand the proof.