Determine all polynomials $P(x) \in \mathbb R[x]$ satisfying the following two conditions :
(a) $P(2017) = 2016$ and
(b) $(P(x) + 1)^2 = P(x^2 + 1)$ for all real numbers $x$.
 
[i]proposed by Walther Janous[/i]
To determine all polynomials \( P(x) \in \mathbb{R}[x] \) that satisfy the given conditions, we will proceed step-by-step.

1. **Condition (a):** \( P(2017) = 2016 \).

2. **Condition (b):** \( (P(x) + 1)^2 = P(x^2 + 1) \) for all real numbers \( x \).

Let's start by examining the functional equation given in condition (b).

### Step 1: Initial Assumption
Assume \( P(x) = x - 1 \). We will check if this polynomial satisfies both conditions.

### Step 2: Verify Condition (a)
For \( P(x) = x - 1 \):
\[ P(2017) = 2017 - 1 = 2016 \]
This satisfies condition (a).

### Step 3: Verify Condition (b)
For \( P(x) = x - 1 \):
\[ P(x) + 1 = (x - 1) + 1 = x \]
\[ (P(x) + 1)^2 = x^2 \]
\[ P(x^2 + 1) = (x^2 + 1) - 1 = x^2 \]
Thus,
\[ (P(x) + 1)^2 = P(x^2 + 1) \]
This satisfies condition (b).

### Step 4: Uniqueness of the Solution
To show that \( P(x) = x - 1 \) is the only polynomial that satisfies both conditions, we will use induction and the properties of polynomials.

#### Base Case:
For \( x = 2017 \):
\[ P(2017) = 2016 \]

#### Inductive Step:
Assume \( P(a_n) = a_n - 1 \) for some sequence \( \{a_n\} \) defined by \( a_1 = 2016 \) and \( a_{n+1} = a_n^2 + 1 \).

We need to show that \( P(a_{n+1}) = a_{n+1} - 1 \).

Given \( a_{n+1} = a_n^2 + 1 \), we have:
\[ P(a_{n+1}) = P(a_n^2 + 1) \]
Using condition (b):
\[ P(a_n^2 + 1) = (P(a_n) + 1)^2 \]
By the induction hypothesis:
\[ P(a_n) = a_n - 1 \]
Thus,
\[ (P(a_n) + 1)^2 = (a_n - 1 + 1)^2 = a_n^2 \]
Therefore,
\[ P(a_n^2 + 1) = a_n^2 \]
Since \( a_{n+1} = a_n^2 + 1 \), we have:
\[ P(a_{n+1}) = a_{n+1} - 1 \]

By induction, \( P(x) = x - 1 \) is the only polynomial that satisfies both conditions.

\(\blacksquare\)

The final answer is \( \boxed{ P(x) = x - 1 } \)