Skolem–Mahler–Lech theorem

In additive and algebraic number theory, the Skolem–Mahler–Lech theorem states that if a sequence of numbers satisfies a linear difference equation, then with finitely many exceptions the positions at which the sequence is zero form a regularly repeating pattern. This result is named after Thoralf Skolem (who proved the theorem for sequences of rational numbers), Kurt Mahler (who proved it for sequences of algebraic numbers), and Christer Lech (who proved it for sequences whose elements belong to any field of characteristic 0). Its known proofs use $p$-adic analysis and are non-constructive.

Theorem statement
Let $$s(n)_{n \ge 0}$$ be a sequence of complex numbers satisfying $$s(n) = c_1 s(n-1) + c_2 s(n-2) + \cdots + c_d s(n-d)$$ for all $$n \ge d$$, where $$c_i$$ are complex number constants (i.e., a constant-recursive sequence of order $$d$$). Then the set of zeros $$\{n \mid s(n) = 0\}$$ is equal to the union of a finite set and finitely many arithmetic progressions.

If we have $$c_d \ne 0$$ (excluding sequences such as 1, 0, 0, 0, ...), then the set of zeros in fact equal to the union of a finite set and finitely many full arithmetic progressions, where an infinite arithmetic progression is full if there exist integers a and b such that the progression consists of all positive integers equal to b modulo a.

Example
Consider the sequence

that alternates between zeros and the Fibonacci numbers. This sequence can be generated by the linear recurrence relation $$F(i) = F(i-2) + F(i-4)$$ (a modified form of the Fibonacci recurrence), starting from the base cases F(1) = F(2) = F(4) = 0 and F(3) = 1. For this sequence, F(i) = 0 if and only if i is either one or even. Thus, the positions at which the sequence is zero can be partitioned into a finite set (the singleton set {1}) and a full arithmetic progression (the positive even numbers).

In this example, only one arithmetic progression was needed, but other recurrence sequences may have zeros at positions forming multiple arithmetic progressions.

Related results
The Skolem problem is the problem of determining whether a given recurrence sequence has a zero. There exist an algorithm to test whether there are infinitely many zeros, and if so to find the decomposition of these zeros into periodic sets guaranteed to exist by the Skolem–Mahler–Lech theorem. However, it is unknown whether there exists an algorithm to determine whether a recurrence sequence has any non-periodic zeros.