If $f(3x)=f(x)$ and $f$ is continuous, show that $f(x)$ is a constant function.
To make this argument a bit more formal, try something along these lines:
Suppose (for contradiction) that $f(c) \neq f(0)$ for some $c \in \mathbb{R}$. By the continuity of $f$ at $0$, there exists a $\delta > 0$ such that whenever $|x| < \delta$, $|f(x) - f(0)|< |f(c) - f(0)|$. Noting that $f(c) = f\left( \frac c{3^n}\right)$, we may derive a contradiction.
That is, we may select an $n \in \mathbb{N}$ such that $|c/3^n| < \delta$. The fact that $|c/3^n| < \delta$ and $|f(c/3^n)-f(0)| = |f(c)- f(0)|$ is a contradiction of our definition of $\delta$.
By this contradiction, we are forced to conclude that $f(x) = f(0)$ for all $x \in \mathbb{R}$. That is, $f$ is constant.
Your argument is not dodgy at all. $f(x)$ being continuous at $x = 0$ is equivalent to the statement that for all $a_1,a_2,...$ converging to $0$ one has $f(a_1), f(a_2),...$ converges to $f(0)$. So take $a_n = {x \over 3^n}$ in your example.