  Let $\R^\R$ denote the set of real valued functions defined on the real line.
A map $D: \R^\R \to \R^\R$ is a {\it difference operator}, if there are real
numbers $a_i, b_i \ (i=1,..., n)$ such that $(Df)(x)=\sum_{i=1}^n a_i f(x+b_i)$
for every $f\in \R^\R $ and $x\in \R$. A {\it system of difference equations}
is a set of equations $S={D_i f=g_i : i\in I}$, where $I$ is an arbitrary set
of indices, $D_i$ is a difference operator and $g_i$ is a given function for
every $i\in I$, and $f$ is the unknown function. One can prove that a system
$S$ is solvable if and only if every finite subsystem of $S$ is solvable.
However, if we look for solutions belonging to a given class of functions, then
the analogous statement fails. For example, there exists a system $S$ such that
every finite subsystem of $S$ has a solution which is a trigonometric
polynomial, but $S$ has no such solution.
  This phenomenon motivates the following definition. Let ${\cal F}$ be a class
of functions. The {\it solvability cardinal} $\solc (\iF)$ of ${\cal F}$ is the
smallest cardinal $\kappa$ such that whenever $S$ is a system of difference
equations and each subsystem of $S$ of cardinality less than $\kappa$ has a
solution in ${\cal F}$, then $S$ itselfhas a solution in ${\cal F}$. In this
paper we determine the solvability cardinals of most function classes that
occur in analysis. As it turns out, the behaviour of $\solc ({\cal F})$ is
rather erratic. For example, $\solc (\text{polynomials})=3$ but $\solc
(\text{trigonometric polynomials})=\omega_1$, $\solc ({f: f\ \text{is
continuous}}) = \omega_1$ but $\solc ({f: f\ \text{is Darboux}})
=(2^\omega)^+$, and $\solc (\R^\R)=\omega$. We consistently determine the
solvability cardinals of the classes of Borel, Lebesgue and Baire measurable
functions, and give some partial answers for the Baire class 1 and Baire class
$\alpha$ functions.
