Horner's method of synthetic division provides an efficient means of performing polynomial division. It is especially simple when dividing by a linear term of the form $x-r$.
Given a polynomial $P(x)$ and base point $r$, we repeatedly divide $P(x)$ and its remainders by $x-r$. This allows us to find a factored form $P(x) = b_n(x-r)^n+b_{n-1}(x-r)^{n-1}+\cdots+b_1(x-r)+b_0$ where $b_k$ is the $k$-th Taylor coefficient of $P(x)$ when centering around $x=r$. In particular, $b_k = {P^{(k)}(r)}/{k!}$.
Why does this work? We can divide $P(x)$ by $x-r$ and get $P(x)=q_1(x)(x-r)+b_0$ where $q_1(x)$ is the quotient and $b_0$ (a constant) is the remainder. Then we can divide $q_1(x)$ by $x-r$ and get $q_1(x)=q_2(x)(x-r)+b_1$. Notice that $P(x)=q_1(x)(x-r)+b_0=(q_2(x)(x-r)+b_1)(x-r)+b_0 = q_2(x)(x-r)^2+b_1(x-r)+b_0$. Continuing in this fashion will eventually yield $P(x) = b_n(x-r)^n+b_{n-1}(x-r)^{n-1}+\cdots+b_1(x-r)+b_0$.
How is the table created?
Note: The polynomials can have coefficients in Sage's "symbolic ring" (i.e. SR). So coefficients such as "1+sqrt(2)" and "5+3*i" are allowed. The Sage code tries to clean up inputs (Ex: It changes (x-1)(x-2) to (x-1)*(x-2) and 3x to 3*x), but it cannot anticipate all syntax errors. As warning, check how your input was interpreted. It may also mis-correct certain inputs.
The computation above is powered by SageMath. The Sage code is embedded in this webpage's html file. To view the code instruct your browser to show you this page's source. For example, in Chrome, right-click and choose "View page source".