What will be the remainder when $2^{31}$ is divided by $5$?

Your friend is wrong in one statement. Indeed you have $2^2 \equiv -1 \pmod 5$. But this implies that $(2^2)^n \equiv (-1)^n \pmod 5$ not that any power of $ 2^2 $ will give $ -1 $ remainder.

However you get $$(2^2)^{15} = 2^{30} \equiv (-1)^{15} = -1 \pmod 5.$$ And therefore $2^{31} \equiv 2 \cdot 2^{30} = -2 = 3 \pmod 5$.


We have that $5$ is a prime, so, $2^4 \equiv 1 \pmod 5$ (see Fermat's little theorem).

Then, $(2^4)^{7} = 2^{28} \equiv 1 \pmod 5$. Multiplying this by $2^3$, we get $2^{31} \equiv 8 \equiv 3 \pmod 5$.

Your friend is saying that:

$$2^{30} \equiv -1 \pmod 5 \implies 2^{31} \equiv -1 \times 2 \equiv -2 \equiv -2 + 5 \equiv 3 \pmod 5.$$


The salient feature here is that when taking the remainder of a product modulo some integer, it doesn't matter if you first take the remainder or first compute the product. In other words: $$ab = (a \bmod n)(b \bmod n) \bmod n$$ Thus $2^{30} \times 2 =(2^{30} \bmod 5)(2\bmod 5) = ((-1)^{15} \bmod 5)2 = -2 = 3 \bmod 5$