Let $a>0$ be a real number, such that for all integers $n\geq 1$: $n^a \in \mathbb N$
Show that $a$ must be an integer.
It's not difficult to show this when $a$ is a rational number: $2^\frac{p}{q}$ is irrational when the fraction is in lowest terms and $q \neq 1$.
When $a$ is irrational, then for all $n\geq 1$, there exists $m_n\in \mathbb N^*$, such that: $$a = \frac{\log m_n}{\log n}; \quad \text{$m_n$ is not a power of $n$}$$
I think considering $n=2,3$ is enough to show a contradiction, but I can't seem to find it. This is what I get: $$a = \frac{\log p}{\log 2} = \frac{\log q}{\log 3}$$ $$p = 2^{\log q/\log 3} $$
I think the RHS is irrational when $q$ is not a power of $3$, but I can't prove it. The closest thing I have to a solution is this answer on a similar question. But it uses an unproven conjecture, and I was hoping for a more elementary proof.