Let $f:\mathbb{N}\rightarrow\mathbb{N}$ be a strictly increasing function such that $$f(2)=2$$ and $$f(mn)=f(m)f(n)$$ for all positive integers $m,n$ such that $mn$ is a perfect cube.
Prove that $f(n)=n$ for every positive integer $n$.
This problem was inspired by the $24$th W.L. Putnam Mathematical Competition, whose proof can be seen here on page 8.
Here is my attempted proof.
Note that $f(9)f(192)=f(24)f(72),\quad f(3)f(72)=f(24)f(9)$ .
Multiplying these two equations give that $f(24)^{2}=f(3)f(192)$.
Note that $f(24) \le f(9)f(3)-3$, and $f(192) \ge f(3)f(9)+165$.
This gives us that $f(3)^2(f(9)^2-f(9))-f(3)(6f(9)+165)+9 \ge 0$.
However, this route proved unsuccesful. I had tried to show that $f(24)=24$, which would imply by induction that $f(n)=n$ for all $n$.
Is there a way to easily solve the problem above? Any help would be appreciated.
Because it is strictly increasing, all we have to do is prove there are an infinite number of solutions to $f(n) = n$, since all the numbers in between two solutions are also solutions themselves. Using induction on $f(8 \cdot x^3) = f(8) \cdot f(x^3)$, the problem reduces to showing there exists $n \ge 4$ with $f(n)=n$. It looks like you got at least this far with your $f(24)$ idea. Below is my attempt:
We have $f(8^k) = f(8)^k$ and also $f(27^k) = f(27)^k$ for all $k$. So for any $x$ which is a power of $8$, $a = \frac{\log{f(8)}}{\log{8}}$, $f(x) = x^{a}$ and for any $x$ which is a power of $27$, $b = \frac{\log{f(27)}}{\log{27}}$, $f(x) = x^{b}$. For all $t$ there is an $s$ such that $8^s \lt 27^t \lt 8^{s+1}$, and since $f$ is increasing, $f(8^s) \lt f(27^t) \lt f(8^{s+1})$, which expands to $(8^{s})^{a} \lt (27^{t})^{b} \lt (8^{s+1})^{a}$. But this means $a = b$. For example, if $b \lt a$, then for sufficiently large $t$ it will be the case that $(27^t)^b \lt (8^s)^a$, which contradicts $f$ being increasing. This is because $27^t$ is no more than $8$ times larger than $8^s$. Likewise, assuming $a \lt b$ leads to a contradiction. All of the above works for any two cubes instead of $8$ and $27$, so by transitivity, there exists $c \ge 3$ such that for all $x$, $f(x^3) = x^c$.
Now, $f(125) = 5^c$ and $f(128) = \frac{f(8)}{f(4)} \cdot f(64) = 2 \cdot 4^c$. Using $f(128) \gt f(125)$, $3 \le c \lt \frac{\log{2}}{\log{5} - \log{4}} \approx 3.10628 \lt 4$. So $c = 3$, since it must be an integer for $f(x^3) = x^c$ to always be an integer, and that proves the proposition.