Let $d \geq 2$ be a positive integer. Define the sequence $a_1,a_2,\dots$ by
$$a_1=1 \ \text{and} \ a_{n+1}=a_n^d+1 \ \text{for all }n\geq 1.$$
Determine all pairs of positive integers $(p, q)$ such that $a_p$ divides $a_q$.
1. Define the sequence \(a_1, a_2, \ldots\) by \(a_1 = 1\) and \(a_{n+1} = a_n^d + 1\) for all \(n \geq 1\). We need to determine all pairs of positive integers \((p, q)\) such that \(a_p\) divides \(a_q\).

2. Let's first write out the first few terms of the sequence to understand its behavior:
   \[
   \begin{aligned}
   &a_1 = 1, \\
   &a_2 = a_1^d + 1 = 1^d + 1 = 2, \\
   &a_3 = a_2^d + 1 = 2^d + 1, \\
   &a_4 = a_3^d + 1 = (2^d + 1)^d + 1.
   \end{aligned}
   \]

3. We observe that each term \(a_{n+1}\) is strictly greater than \(a_n\) because \(a_{n+1} = a_n^d + 1\) and \(d \geq 2\). This implies that the sequence is strictly increasing.

4. To determine when \(a_p\) divides \(a_q\), we need to consider the divisibility properties of the sequence. Suppose \(a_p \mid a_q\). This means there exists an integer \(k\) such that \(a_q = k \cdot a_p\).

5. Consider the polynomial \(P(x) = x^d + 1\). The sequence can be defined recursively using this polynomial: \(a_{n+1} = P(a_n)\).

6. We need to show that \(a_p \mid a_q\) if and only if \(p \mid q\). Assume \(a_p \mid a_q\). Then, by the properties of the sequence and the polynomial \(P(x)\), we have:
   \[
   a_q = P^{(q-1)}(a_1) = P^{(q-1)}(1),
   \]
   where \(P^{(n)}(x)\) denotes the \(n\)-th iterate of the polynomial \(P(x)\).

7. Since \(a_p \mid a_q\), we can write:
   \[
   P^{(q-1)}(1) = k \cdot P^{(p-1)}(1).
   \]

8. By the properties of polynomial iteration and the fact that the sequence is strictly increasing, the only way \(a_p\) can divide \(a_q\) is if \(q\) is a multiple of \(p\). This is because the sequence grows too quickly for any other divisibility relationship to hold.

9. Therefore, \(a_p \mid a_q\) if and only if \(p \mid q\).

\(\blacksquare\)

The final answer is \( \boxed{ (p, q) } \) such that \(p \mid q\).