Find all positive integers $p$ for which there exists a positive integer $n$ such that $p^n+3^n~|~p^{n+1}+3^{n+1}.$
To solve the problem, we need to find all positive integers \( p \) for which there exists a positive integer \( n \) such that \( p^n + 3^n \mid p^{n+1} + 3^{n+1} \).

1. **Initial Divisibility Condition:**
   \[
   p^n + 3^n \mid p^{n+1} + 3^{n+1}
   \]
   This implies:
   \[
   p^n + 3^n \mid p(p^n + 3^n) - (p^{n+1} + 3^{n+1})
   \]
   Simplifying the right-hand side:
   \[
   p(p^n + 3^n) - (p^{n+1} + 3^{n+1}) = p^{n+1} + p \cdot 3^n - p^{n+1} - 3^{n+1} = p \cdot 3^n - 3^{n+1} = 3^n(p - 3)
   \]
   Therefore:
   \[
   p^n + 3^n \mid 3^n(p - 3)
   \]

2. **Considering the Case \( 3 \nmid p \):**
   If \( 3 \nmid p \), then \( p^n + 3^n \mid p - 3 \). Since \( p^n + 3^n > p - 3 \) for \( n \geq 1 \), this would imply \( p - 3 = 0 \), which is a contradiction. Therefore, \( 3 \mid p \).

3. **Let \( p = 3k \):**
   Substituting \( p = 3k \) into the divisibility condition:
   \[
   (3k)^n + 3^n \mid (3k)^{n+1} + 3^{n+1}
   \]
   Simplifying:
   \[
   3^n(k^n + 1) \mid 3^{n+1}(k^{n+1} + 3)
   \]
   Dividing both sides by \( 3^n \):
   \[
   k^n + 1 \mid 3k^{n+1} + 3^{n+1}
   \]
   Further simplifying:
   \[
   k^n + 1 \mid 3(k^{n+1} + 3^n)
   \]

4. **Analyzing the Divisibility Condition:**
   For \( k = 1 \):
   \[
   k^n + 1 = 1^n + 1 = 2
   \]
   \[
   3(k^{n+1} + 3^n) = 3(1^{n+1} + 3^n) = 3(1 + 3^n)
   \]
   Clearly, \( 2 \mid 3(1 + 3^n) \) for all \( n \geq 1 \). Thus, \( p = 3 \) is a solution.

5. **For \( k > 1 \):**
   We need to check the condition:
   \[
   k^n + 1 \mid 3k - 3
   \]
   Since \( k^n + 1 \geq k^3 + 1 \) for \( n \geq 3 \), we have:
   \[
   k^3 + 1 \geq 3k - 3
   \]
   Simplifying:
   \[
   k^3 + 1 \geq 3k - 3 \implies k^3 - 3k + 4 \geq 0
   \]
   For \( k \geq 2 \), \( k^3 - 3k + 4 \) is always positive. Therefore, \( n < 3 \).

6. **Checking \( n = 1 \) and \( n = 2 \):**
   - For \( n = 1 \):
     \[
     k + 1 \mid 3k - 3
     \]
     This implies:
     \[
     k + 1 \mid 3(k - 1)
     \]
     Checking possible values of \( k \):
     - \( k = 2 \):
       \[
       2 + 1 = 3 \mid 3(2 - 1) = 3
       \]
       Thus, \( p = 6 \) is a solution.
     - \( k = 5 \):
       \[
       5 + 1 = 6 \mid 3(5 - 1) = 12
       \]
       Thus, \( p = 15 \) is a solution.

   - For \( n = 2 \):
     \[
     k^2 + 1 \mid 3k^2 - 3
     \]
     This implies:
     \[
     k^2 + 1 \mid 3(k^2 - 1)
     \]
     Checking possible values of \( k \):
     - \( k = 1 \):
       \[
       1^2 + 1 = 2 \mid 3(1 - 1) = 0
       \]
       Thus, \( p = 3 \) is a solution.

Therefore, the only solutions are \( p = 3, 6, 15 \).

The final answer is \( \boxed{3, 6, 15} \)