Can anyone actually solve these? Will be very impressed.

If we want this to be true for *all* integers a and b, it must be true in particular for, say, a=0 (always start with putting in the simplest numbers!). In this case, we see that f(0)+2f(b)=f(f(b)). Now let’s put in another value of a, say, a=1. Then f(2)+2f(b)=f(f(b+1)). Rewriting the right-hand side of this equality using what we discovered for a=0, we see that f(0)+2f(b+1) = f(2)+2f(b), which rearranges to f(b+1)-f(b) = \frac{f(2)-f(0)}{2}. But the right-hand side here is constant, which means that f(b) increases by a fixed amount as b increases, i.e. f(b) is a linear function: f(b)=mb+c for some m,c\in\mathbb{Z}. *(We could also say that (f(b))_{b\in\mathbb{Z}} is an arithmetic sequence).*

So, using the fact that f(b)=mb+c (where b is just an arbitrary integer), we can rewrite our original equation as (2ma+c)+(2mb+2c)=m(m(a+b)+c)+c, i.e. 2m(a+b)+3c = m^2(a+b)+mc+c. Since this has to be true for all a,b\in\mathbb{Z}, we must at least have that m^2=2m (i.e. matching the coefficients of (a+b) on both sides), which means that either m=2 or m=0, and that 3c=mc+c, which gives c=0 if m=0, and no constraint on c if m=2.

So, in summary, the only such functions f(z) are the zero function, and any function of the form f(z)=2z+c for some c\in\mathbb{Z}.

**Edit.** I thought I remembered this problem from somewhere, and I was right: there’s a nice YouTube video explaining the solution as well.

NO ONE WAS READY FOR THAT VIDEO

This is actually impressive