Proving that a doubly-periodic entire function $f$ is constant. 
Let $f: \Bbb C \to \Bbb C$ be an entire (analytic on the whole plane) function such that exists $\omega_1,\omega_2 \in \mathbb{S}^1$, linearly independent over $\Bbb R$ such that: $$f(z+\omega_1)=f(z)=f(z+\omega_2), \quad \forall\,z\in \Bbb C.$$Prove that $f$ is constant.

The intuition seems clear to me, we have the three vertices of a triangle given by $0$, $\omega_1$ and $\omega_2$. All points in the plane are one of the vertices of that triangle under a suitable parallel translation. The constant value will be $f(0)$, fine. Throwing values for $z$ there, I have found that $$f(n\omega_1) = f(\omega_1) = f(0)=f(\omega_2) = f(n\omega_2), \quad \forall\, n \in \Bbb Z.$$
I don't know how to improve the above for, say, rationals (at least). Some another ideas would be:


*

*Checking that $f' \equiv 0$. I don't have a clue of how to do that.

*Write $w = a\omega_1+b\omega_2$, with $a,b \in \Bbb R$, do stuff and conclude that $f(w) = f(0)$. This approach doesn't seem good, because I only have a weak result with integers above.

*Finding that $f$ coincides with $f(0)$ on a set with an accumulation point. This seems also bad: the set on with $f$ coincides with $f(0)$ by which I found above is discrete. 
Nothing works and this is getting annoying... And I don't see how analyticity comes in there. I'll be very thankful if someone can give me an idea.
(On a side note.. I know that this title is not informative at all. Feel free to edit if you come up with something better.)
 A: The values the function take on the plane are the values it takes in the compact parallelogram with vertices on $0,\omega_1,\omega_2,\omega_1+\omega_2$. Therefore the entire function is bounded, and hence constant by Liouville's theorem.

Every point $z$ of the plane can be written as $z=x\omega_1+y\omega_2$ with $x,y$ reals, since $\omega_1,\omega_2$ are independent over the reals. Then $$f(z)=f(\{x\}\omega_1+\{y\}\omega_2),$$ where $0\leq\{x\}<1$ is such that $x-\{x\}$ is integer. The point $\{x\}\omega_1+\{y\}\omega_2$ is inside the compact parallelogram with vertices $0,\omega_1,\omega_2,\omega_1+\omega_2$.
A: This answer is really about Riemann surfaces, because the question suggests the generalization; to answer the actual question, invoking the fundamental polygon as above is much easier.
Let $L$ be the lattice $\{m\omega_1 + n\omega_2 : m,n \in \Bbb Z\}$. Then $\Bbb C/L$ is topologically a torus. (It also inherits the structure of a Riemann surface from $\Bbb C$; this structure depends on the original lattice.) Now, an entire function $\Bbb C \to \Bbb C$ descends to a continuous function $\Bbb C/L \to \Bbb C$; because the domain is compact, this has bounded image. The original function, therefore, had bounded image, and is constant by Liouville's theorem. 
This has wild generalizations, coming from the same compactness argument.
Theorem: every holomorphic function on a compact Riemann surface is constant.
Proof: Suppose we had a nonconstant holomorphic function $f: \Sigma \to \Bbb C$. Nonconstant holomorphic functions are open maps. (A nonconstant holomorphic function on a Riemann surface is locally nonconstant, else it be constant everywhere by the identity theorem; and maps that are locally open are open.) On the other hand, our domain is compact and our codomain Hausdorff, so our map is automatically a closed map. So $f(\Sigma)$ is simultaneously open and closed, and (as $\Bbb C$ is connected), must be all of $\Bbb C$. But $\Sigma$ is compact, so has bounded image, and this is impossible! So we did not have a nonconstant holomorphic function to begin with.
(The reason we could not use the previous idea directly here is that tori are very special - they're the only Riemann surfaces that, as complex manifolds, are quotients of the plane. The higher genus surfaces are quotients of the unit disc, and there are plenty of bounded holomorphic functions whose domain is the unit disc...)
This tells us that if we want to study Riemann surfaces, we need to look instead at meromorphic functions; the study of what sort of meromorphic functions a given Riemann surface can support (how many poles does it need to have? is there a formula relating the number of poles to the number of zeroes of a given meromorphic function?) was one of the earliest motivating questions of complex geometry.
