The answer is all constant or ascending arithmetic sequences, i.e.

for positive integers

and nonnegative integers
. These work since we can take
. Now we show that no others work.
Before we begin, we note that given

and

consecutive values

of the sequence, the rest of the sequence can be fully determined, since we have
![\[a_{n+k} = \frac{P(a_n)}{a_{n+1}\cdots a_{n+k-1}}\]](//latex.artofproblemsolving.com/3/5/1/3516da6cc12f2458a289a6ebc1685fa7ad11d943.png)
and for
, 
(note that

is increasing and hence injective on the positive integers). Call these two relations
.
First, let's handle the special case
; we aim to prove that the

are constant. To see this, let

be the minimum value attained by any
. Then, if
, we have that

but

for all
; therefore
. Therefore the sequence is eventually constant at
; by applying

we get that

for all
, as desired.
Now assume that some non-leading coefficient of

is positive. We prove a bunch of lemmas.
Lemma 1. The sequence

achieves arbitrarily large values.
Proof. Since

for all positive integers
, we conclude that

for all
. Iterating this proves the claim.
Lemma 2. For every
, there are only finitely many

with
.
Proof. For every such
, we must have
. Thus, if there are infinitely such
, we can find some

with

for all
. By iterating

we get that

is periodic, which contradicts Lemma 1.
Lemma 3. 
for all
.
Proof. Suppose not. Let

be the minimum value such that there exists an

such that
. But then,
![\[1 > \frac{P(a_{n+1})}{P(a_n)} = \frac{a_{n+k+1}}{a_{n+1}},\]](//latex.artofproblemsolving.com/c/2/c/c2c5ce3c966b712d94a5c1c8498efdf39c3f0825.png)
so
. Thus, if we let
, which must be less than
, and

be the minimal

with
, we find that
, contradicting the minimality of
.
Lemma 4.
Proof. By Lemma 3,
, so
. But this is bounded above.
By Lemma 4, there are now finitely many possibilities for the tuple
, so there must be one, call it
, which appears infinitely many times. Then we must have
![\[P(a_n) = (a_n + d_1) \cdots (a_n + d_k) \text{ and } P(a_n+d_1) = (a_n+d_2)\cdots (a_n + d_{k+1})\]](//latex.artofproblemsolving.com/d/0/5/d05ece1defd07f916a76fef8f399e07f2654103a.png)
for infinitely many
. By Lemma 2, this means that
![\[P(x) = (x + d_1) \cdots (x + d_k) \text{ and } P(x+d_1) = (x+d_2)\cdots (x + d_{k+1})\]](//latex.artofproblemsolving.com/0/5/c/05ceefbe0444606755ad7513e3e2b1daa1657d72.png)
for infinitely many
, meaning that the relations above have to hold as polynomials. Now, by Lemma 3 we have
. Moreover, since a polynomial can be factored into linear factors in only one way, we conclude that

for all
, i.e.

for all
. As a result,
, and there exists an

with

for all
. By iterating

forwards, we get that there exists an integer

with

for all large
. If
, we can iterate

backwards and conclude. Otherwise, we can iterate

backwards to get some

with
. But then
, so there is no possibility for
. So we are done in this case as well.
