TITLE: Proving a Rational Number is an Integer
QUESTION [1 upvotes]: I am working on a proof for the following question:

Suppose that $c$ is an integer and $x$ is a rational number such that $x^3 = c$. Prove that $x$ is an integer.

I have started with the following:

Let $x = \frac{a}{b}$ where $a,b$ are integers and $\frac{a}{b}$ is in lowest terms, aka $gcd(a, b) = 1$.
$$x = (\frac{a}{b})^3 = c \text{ so, } a^3=cb^3$$
Since $b$ divides the right side of the equation, it must also divide the left. Thus $b|a^3$. But $gcd(a,b)=1$. So the only way for $b$ to divide $a^3$ is if $b=1$. Thus, $\frac{a}{b}=a=x$, so $x$ is an integer

However, I'm not sure if by arguing that $b|a^3$ and $gcd(a,b) = 1$, I can actually make the jump that $b$ must equal 1.
Am I on the right track or am I completely missing something?

REPLY [1 votes]: Yes, you are actually fine. Suppose some prime $p$ divides $b$. Then, $p | a^3$, and therefore $p|a$(Where am I using primality of $p$ here?), so that $\gcd(a,b) \geq p$, a contradiction. Hence, $b = \pm 1$, but either way $x = \pm a$ is an integer.
{"set_name": "stack_exchange", "score": 1, "question_id": 2562734}