Difference tables and polynomials

A common mathematical approach to analyzing sequences is to form a difference table by repeatedly evaluating d[list_] := Drop[list, 1] - Drop[list, -1]. If the elements of list correspond to values of a polynomial of degree n at successive integers, then Nest[d, list, n + 1] will contain only zeros. If the differences are computed modulo k then the difference table corresponds essentially to the evolution of an additive cellular automaton (see page 597). The pictures below show the results with k = 2 (rule 60) for (a) Fibonacci[n], (b) Thue–Morse sequence, (c) Fibonacci substitution system, (d) (Prime[n] - 1)/2, (e) digits of π. (See also page 956.)