7. (36th Austrian Mathematical Olympiad) Let $a$ be an integer, and $|a| \leqslant 2005$. Find the number of $a$ such that the system of equations $\left\{\begin{array}{l}x^{2}=y+a, \\ y^{2}=x+a\end{array}\right.$ has integer solutions.
7. If $(x, y)$ is a set of integer solutions to the given system of equations, subtracting the two equations yields
$$
x^{2}-y^{2}=y-x \Leftrightarrow(x-y)(x+y+1)=0 \text {. }
$$

Consider the following two cases.
(1) $x-y=0$.

Substituting $x=y=m$ into the system of equations, we get
$$
a=m^{2}-m=m(m-1) \text {. }
$$

It is clear that $a$ is the product of two consecutive integers.
Thus, $a$ is non-negative, and these numbers are no greater than 2005.
$$
\begin{array}{l}
\text { Also, } 45 \times 44=19802005,
\end{array}
$$

Since $m$ can take all integer values from $1 \leqslant m \leqslant 45$, this gives 45 values of $a$ that satisfy the condition.
(2) $x+y+1=0$.

Substituting $x=m, y=-(m+1)$ into the system of equations, we get
$$
a=m^{2}+m+1=m(m+1)+1 \text {. }
$$

It is clear that $a$ is one more than the product of two consecutive integers. Adding 1 to each $a$ obtained in the first case yields the $a$ values for the second case, giving another 45 distinct $a$ values that satisfy the condition.
In summary, there are a total of 90 $a$ values that satisfy the condition.