This can be solved by induction. We want to show that if $a_n \mod 1000 \equiv 343 \Rightarrow a_{n+1} \mod 1000 \equiv 343$
Notice that if $n\ge 1$ then $a_{n+1}=7^{a_n}$
$\left( \text{then obviously } a_{n+1}\mod 1000\equiv 7^{a_n} \right)$. Also notice that powers of 7 modulo 1000 have a cycle of 20 numbers.
$7^{20y+1}\mod 1000 \equiv 7$
$7^{20y+2}\mod 1000 \equiv 49$
$7^{20y+3}\mod 1000 \equiv 343$
$7^{20y+4}\mod 1000 \equiv 401$
$7^{20y+5}\mod 1000 \equiv 807$
$7^{20y+6}\mod 1000 \equiv 649$
$7^{20y+7}\mod 1000 \equiv 543$
$7^{20y+8}\mod 1000 \equiv 801$
$7^{20y+9}\mod 1000 \equiv 607$
$7^{20y+10}\mod 1000 \equiv 249$
$7^{20y+11}\mod 1000 \equiv 743$
$7^{20y+12}\mod 1000 \equiv 201$
$7^{20y+13}\mod 1000 \equiv 407$
$7^{20y+14}\mod 1000 \equiv 849$
$7^{20y+15}\mod 1000 \equiv 943$
$7^{20y+16}\mod 1000 \equiv 601$
$7^{20y+17}\mod 1000 \equiv 207$
$7^{20y+18}\mod 1000 \equiv 449$
$7^{20y+19}\mod 1000 \equiv 143$
$7^{20y}\mod 1000 \equiv 1$
Where $y \in \Bbb{Z}$
So knowing the remainder of $a_n$ mod 20 is sufficient to determine the remainder of $a_{n+1}$ mod 1000. An alternative way of stating $a_{n} \mod 1000 \equiv 343$ is $\exists x\in\Bbb{Z}\space|\space1000x+343=a_n$.
$20(50x+17)+3=a_n\Rightarrow$
$ a_n \mod 20 \equiv 3$
This means that $a_{n+1} \mod 1000 \equiv 343$.
So if $a_n \mod 1000 \equiv 343$ then any $a_k \mod 1000 \equiv 343$ where $k\ge n$.
$a_2=7^7=823543=20(41177)+3$
$a_2 \mod 20 \equiv 3\Rightarrow$
$a_3 \mod 1000 \equiv 343$
Therefore all $a_k \mod 1000 \equiv 343$ where $k\ge 3$. This includes $a_{1000}$.