We are given $n \geq 3$ weights of masses $1, 2, 3, \ldots , n$ grams. Find all $n$ for which it is possible to divide these weights into three groups with the same mass.
To solve the problem, we need to determine for which values of \( n \) it is possible to divide the weights \( 1, 2, 3, \ldots, n \) grams into three groups with the same total mass.

1. **Sum of the weights:**
   The sum of the first \( n \) natural numbers is given by the formula:
   \[
   S = \frac{n(n+1)}{2}
   \]
   For the weights to be divided into three groups with equal mass, \( S \) must be divisible by 3. Therefore, we need:
   \[
   \frac{n(n+1)}{2} \equiv 0 \pmod{3}
   \]
   This simplifies to:
   \[
   n(n+1) \equiv 0 \pmod{6}
   \]
   Since \( n \) and \( n+1 \) are consecutive integers, one of them must be divisible by 2 and the other by 3. Hence, \( n(n+1) \) is always divisible by 6.

2. **Checking specific values of \( n \):**
   We need to check the values of \( n \) from 5 to 10 to see if they can be divided into three groups with equal mass.

   - For \( n = 5 \):
     \[
     S = \frac{5 \cdot 6}{2} = 15
     \]
     Dividing 15 into three equal groups of 5 is possible: \(\{1, 4\}, \{2, 3\}, \{5\}\).

   - For \( n = 6 \):
     \[
     S = \frac{6 \cdot 7}{2} = 21
     \]
     Dividing 21 into three equal groups of 7 is possible: \(\{1, 6\}, \{2, 5\}, \{3, 4\}\).

   - For \( n = 7 \):
     \[
     S = \frac{7 \cdot 8}{2} = 28
     \]
     Dividing 28 into three equal groups is not possible since 28 is not divisible by 3.

   - For \( n = 8 \):
     \[
     S = \frac{8 \cdot 9}{2} = 36
     \]
     Dividing 36 into three equal groups of 12 is possible: \(\{1, 2, 9\}, \{3, 4, 5\}, \{6, 7, 8\}\).

   - For \( n = 9 \):
     \[
     S = \frac{9 \cdot 10}{2} = 45
     \]
     Dividing 45 into three equal groups of 15 is possible: \(\{1, 5, 9\}, \{2, 4, 8\}, \{3, 6, 7\}\).

   - For \( n = 10 \):
     \[
     S = \frac{10 \cdot 11}{2} = 55
     \]
     Dividing 55 into three equal groups is not possible since 55 is not divisible by 3.

3. **Generalizing the solution:**
   From the above checks, we see that \( n = 5, 6, 8, 9 \) work. We need to find a pattern or general form for \( n \).

   - For \( n = 3k + 2 \):
     \[
     S = \frac{(3k+2)(3k+3)}{2} = \frac{3k(3k+5) + 6}{2}
     \]
     This is always divisible by 3.

   - For \( n = 3k + 3 \):
     \[
     S = \frac{(3k+3)(3k+4)}{2} = \frac{3k(3k+7) + 12}{2}
     \]
     This is always divisible by 3.

Therefore, the values of \( n \) for which it is possible to divide the weights into three groups with the same mass are those of the form \( n = 3k + 2 \) or \( n = 3k + 3 \) for positive integers \( k \).

The final answer is \( \boxed{ n = 3k + 2 } \) or \( n = 3k + 3 \) for positive integers \( k \).