How to count number of homomorphism from $\Bbb Z_p\oplus\Bbb Z_p$ into $\Bbb Z_p $? 
How can I count the number of group homomorphism between  $\Bbb Z_p\oplus \Bbb Z_p$  into  $\Bbb Z_p $ ? 

I progressed till finding it for $ Z_2\oplus Z_2 $ and I got only one but I can't progress further.
 A: Hint: Any homomorphism $\mathbb Z_p\oplus\mathbb Z_p\to\mathbb Z_p$ induces a subgroup as its kernel. Lagrange's theorem tells you that the order of a subgroup divides the order of the group, which is $p^2$. How many subgroups of order $1,p,p^2$ respectively are there?
A: Here is the model:
Suppose we want all homomorphism from $\Bbb Z_p$ to $\Bbb Z_p$
Let $f$ be an arbitrary homomorphism from $\Bbb Z_p$  to $\Bbb Z_p$. The task  is  to find all possible such $f$'s. Here we let $f(1)=a$. Then $$f(x)=f(\underbrace{1+1+\cdots+1}_{x \;\text{times}})=xf(1)=xa$$
That is , any such $f$ is completely determined by $f(1)$.
Now the question is: How many choices does $f(1)$ have?
Answer: $p$ choices, since $|a|$ divides $p$ and so $|a|=1$ or $p$. Thus $a \in \{0,1,\cdots,p-1\}$

Now use this model
Let $\phi$ be an arbitrary homomorphism from $\Bbb Z_p \oplus \Bbb Z_p$ to $\Bbb Z_p$. The task  is  to find all possible such $\phi$'s. Here we does't need what $\phi(1,1)$ is. Because it does't determines all $\phi$'s. Instead of this, we observe $$(a,b)=(a,0)+(0,b)=a(1,0)+b(0,1)$$ so $$f(a,b)=af(1,0)+bf(0,1)$$
Now the question is: How many choices does $f(1,0)$  have ? similarly for $f(0,1)$ ?
Try to find the answer for this and complete your problem
