TetraVex

TetraVex is a puzzle computer game, originally created for Microsoft Windows.

Gameplay
TetraVex is an edge-matching puzzle. The player is presented with a grid (by default, 3x3) and nine square tiles, each with a number on each edge. The objective of the game is to place the tiles in the grid in the proper position as fast as possible. Two tiles can only be placed next to each other if the numbers on adjacent faces match.

Availability
TetraVex was originally available for Microsoft Windows in Windows Entertainment Pack 3. It was later re-released as part of the Best of Windows Entertainment Pack.

Origins
The original version of TetraVex (for the Windows Entertainment Pack 3) was written (and named) by Scott Ferguson who was also the Development Lead and an architect of the first version of Visual Basic. TetraVex was inspired by "the problem of tiling the plane" as described by Donald Knuth on page 382 of Volume 1: Fundamental Algorithms, the first book in his The Art of Computer Programming series.

In the TetraVex version for Microsoft Windows, the Microsoft Blibbet logo is displayed if the player solves a 6 by 6 puzzle.

The tiles are also known as McMahon Squares, named for Percy McMahon who explored their possibilities in the 1920s.

Counting the possible number of TetraVex
Since the game is simple in its definition, it is easy to count how many possible TetraVex are for each grid of size $$n\times n$$. For instance, if $$n=1$$, there are $$10^4$$ possible squares with a number from zero to nine on each edge. Therefore for $$n=1$$ there are $$10^4$$ possible TetraVex puzzles.

Proposition: There are $$10^{2n(n+1)}$$ possible TetraVex in a grid of size $$n\times n$$.

Proof sketch: For $$n=1$$ this is true. We can proceed with mathematical induction.

Take a grid of $$(n+1)\times (n+1)$$. The first $$n$$ rows and the first $$n$$ columns form a grid of $$n\times n$$ and by the hypothesis of induction, there are $$10^{2n(n+1)}$$ possible TetraVex on that subgrid. Now, for each possible TetraVex on the subgrid, we can choose $$10^3$$ squares to be placed in the position $$(1,n+1)$$ of the grid (first row, last column), because only one side is determined. Once this square is chosen, there are $$10^2$$ squares available to be placed in the position $$(2,n+1)$$, and fixing that square we have $$10^2$$ possibilities for the square on position $$(3,n+1)$$. We can go on until the square on position $$(n,n+1)$$ is fixed.

The same is true for the last row: there are $$10^3$$ possibilities for the square on the first column and last row, and $$10^2$$ for all the other.

This gives us $$10^{2n(n+1)}\times 10^{2(3 + 2(n-1))+2} = 10^{2n(n+1)} \times 10^{4(n+1)} = 10^{2(n+1)}(10^{n}\times 10^2) = 10^{2(n+1)(n+2)}$$. Then the proposition is proven by induction. $$\square$$

It is easy to see that if the edges of the squares are allowed to take $$m$$ possible numbers, then there are $$m^{2n(n+1)}$$ possible TetraVex puzzles.