Find all the functions $f:\mathbb{R}\to\mathbb{R}$ continuous at $0$ such that $f(x)+f(2x/3)=x$.
Assume by contradiction that such a function exists. Hence, setting $x=0$, it is $f(0)=0$ and so, by the continuity at $x=0$, for any $\epsilon>0$ there exists $\delta_\epsilon>0$ such that $-\epsilon<f(x)<\epsilon$ for any $x\in(-\delta_\epsilon,\delta_\epsilon)$.
Since $|2x/3|\le|x|$ for any $x\in\mathbb{R}$, then for any $\epsilon>0$ it is $-\epsilon<f(2x/3)<\epsilon$ for any $x\in(-\delta_\epsilon,\delta_\epsilon)$ as well. Summing the inequalities, for any $\epsilon>0$ it is $-2\epsilon<f(x)+f(2x/3)<2\epsilon$ for any $x\in(-\delta_\epsilon,\delta_\epsilon)$.
Since $\delta_\epsilon>0$, it is $0<\delta_\epsilon/2<\delta_\epsilon$ and so the inequality above must hold for $x=\delta_\epsilon/2$ as well; so $-2\epsilon<f(\delta_\epsilon/2)+f\left(\frac{2}{3}\cdot\frac{\delta_\epsilon}{2}\right)<2\epsilon$. But it is $f(x)+f(2x/3)=x$, hence $f(\delta_\epsilon/2)+f\left(\frac{2}{3}\cdot\frac{\delta_\epsilon}{2}\right)=\delta_\epsilon/2$ and so it is $-2\epsilon<\delta_\epsilon/2<2\epsilon$ for any $\epsilon>0$. This is a contradiction, because this should hold for any $\epsilon>0$ and so, in particular, for $\epsilon=\delta_\epsilon/8$ too; but this latter choice leads to $1/2<1/4$.
This is surely wrong, since $f(x)=3x/5$ is a solution. Where is my proof wrong? Is it wrong because $\delta$ depends on $\epsilon$, and so I can't choose a $\epsilon$ dependent on $\delta$?
No, there is no contradiction. Note $\epsilon$ is first chosen and "fixed", then you choose $\delta$, which usually depends on the $\epsilon$ you previously chose, so $\delta=\delta_\epsilon=\delta(\epsilon)$
Go back to your work: $$-2\epsilon<\delta_\epsilon/2<2\epsilon$$ Up to here, you could think $\epsilon$ is fixed already, for example, $\epsilon=0.1$, then you choose $\delta_\epsilon$, for example, $\delta_{0.1}=0.08$, and it satisfies above inequality.
Next, when you choose $\epsilon=\delta_\epsilon/8$, it means your "new-epsilon" $\epsilon'$ equals your "old-delta" over $8$,
$$\text{Namely}, ~~\epsilon'=\delta_\epsilon/8=\delta_{0.1}/8=0.08/8=0.01$$
So, for this "new-epsilon" $\epsilon'$, you need to find another "new-delta" $\delta_{\epsilon'}=\delta_{0.01}$
In this case, you need to update above inequality to:
$$-2\epsilon'<\delta_{\epsilon'}/2<2\epsilon'$$
So there is no contradiction. Remember when update, you need to update both $\epsilon\rightarrow\epsilon'$ and correspondingly, $\delta_\epsilon\rightarrow\delta_{\epsilon'}$, so you still get "$\epsilon-\delta_\epsilon $" (or "$\epsilon'-\delta_{\epsilon'}$") pairs.
Your confusion is due to mess up the pairs, what you did is "$\epsilon'-\delta_\epsilon$", and this is where the mistake comes from.