Proof of the single factor theorem over an arbitrary commutative ring
Let $p(x) = c_n x^n + \cdots + c_1 x + c_0$. Then: $$ p(x) = p(x) - p(a) = c_n (x^n - a^n) + \cdots + c_1 (x - a) $$ But over any ring $x - a \mid x^k - a^k$.
You can do polynomial long division over any commutative ring, as long as the leading coefficient of the divisor is a unit. Think about the process - at each step, you only need to divide the leading coefficient of the divisor into the leading coefficient of the polynomial you have left (after multiplying and subtracting from the previous step).