Determine all functions $f : \mathbb {N} \rightarrow \mathbb {N}$ such that $f$ is increasing (not necessarily strictly) and the numbers $f(n)+n+1$ and $f(f(n))-f(n)$ are both perfect squares for every positive integer $n$.
1. **Claim 01:** \( f(f(x)) \le f(x)^2 + f(x) \) for any \( x \in \mathbb{N} \).

   *Proof:* We know that \( f(f(a)) - f(a) \) and \( f(f(a)) + f(a) + 1 \) are both perfect squares. Let \( f(f(a)) - f(a) = x^2 \). Then, \( f(f(a)) + f(a) + 1 \ge (x + 1)^2 \). This implies:
   \[
   f(f(a)) + f(a) + 1 \ge f(f(a)) - f(a) + 2x + 1 \implies f(f(a)) + f(a) + 1 \ge x^2 + 2x + 1 + f(a)
   \]
   Simplifying, we get:
   \[
   f(f(a)) + f(a) + 1 \ge x^2 + 2x + 1 + f(a) \implies f(f(a)) \ge x^2 + 2x + 1 - f(a) + f(a) = x^2 + 2x + 1
   \]
   Since \( f(f(a)) - f(a) = x^2 \), we have:
   \[
   f(f(a)) = x^2 + f(a) \implies x^2 \le f(a)^2 \implies x \le f(a)
   \]
   Therefore, \( f(f(a)) - f(a) \le f(a)^2 \), which implies:
   \[
   f(f(a)) \le f(a)^2 + f(a)
   \]

2. **Claim 02:** \( (f(x + 1) - f(x))^2 \ge 4(f(x) + x + 1) \).

   *Proof:* We know that \( f(a) + a + 1 \) and \( f(a + 1) + a + 2 \) are both perfect squares. Let \( f(a) + a + 1 = x^2 \). Then, we have:
   \[
   f(a + 1) + a + 2 \ge (x + 1)^2 = x^2 + 2x + 1
   \]
   Substituting \( f(a) + a + 1 = x^2 \), we get:
   \[
   f(a + 1) + a + 2 \ge f(a) + a + 1 + 2x + 1 \implies f(a + 1) \ge f(a) + 2x
   \]
   Therefore:
   \[
   (f(a + 1) - f(a))^2 \ge 4(f(a) + a + 1)
   \]

3. **Claim 03:** \( f(x) \ge x^2 + x \) for all \( x \in \mathbb{N} \).

   *Proof:* We will prove this by induction. For \( x = 1 \), we have \( f(1) + 2 \) is a perfect square, so \( f(1) \ge 2 \). Now, suppose \( f(n) \ge n^2 + n \). Then:
   \[
   (f(n + 1) - f(n))^2 \ge 4(f(n) + n + 1) \ge 4(n^2 + n + n + 1) = 4(n + 1)^2
   \]
   This implies:
   \[
   f(n + 1) \ge f(n) + 2(n + 1) = n^2 + n + 2(n + 1) = (n + 1)^2 + (n + 1)
   \]
   Therefore, by induction, \( f(x) \ge x^2 + x \) for all \( x \in \mathbb{N} \).

4. Combining the results from Claim 01 and Claim 03, we have:
   \[
   f(x)^2 + f(x) \le f(f(x)) \le f(x)^2 + f(x)
   \]
   Thus, \( f(f(x)) = f(x)^2 + f(x) \) for all \( x \in \mathbb{N} \). This implies that the inequality in Claim 03 is tight, and hence \( f(x) = x^2 + x \) for all \( x \in \mathbb{N} \).

The final answer is \( \boxed{f(x) = x^2 + x} \).