## Javascript

• Christmas Puzzle.
Some years ago, before the Christmas holidays, I used to give a "recreative mathematical problem" to my students (I was teaching Calculus). The author of the first email with the correct answer won a book (of mathematics, of course!). Here there is the list of the problems. As you can see, the solutions involve also a bit of javascript programming.
• Square Loop Generator.
It generates a circular permutation of the numbers 1 to n such that the sum of any two consecutive numbers is a square.
• Su Doku Generator.
A Su Doku is a 9x9 grid such that each column, row, and 3x3 block contains the numbers 1 through 9 exactly once.
If you prefer to play the game (also off-line) click here and save the page.
• Nim Game.
Ancient board game whose winning strategy is based on the binary representation of integers.
• Cram Game.
You versus the computer: players take turns placing domino tiles onto a T-board. First player unable to play, loses.
• Peg Solitaire.
You have to remove from a 33-hole board as many pegs as possible by hopping horizontally or vertically over one. Can you reduce the board to a single peg?
• Lights Out.
Lights Out is a popular electronic game by Tiger Electronics. The game is played on a 5x5 grid of buttons which also have lights in them. By pressing a button, its light and those adjacent change state (lit or unlit). The aim is to switch off all the 25 lights. This javascript version of the game allow you to play, but it can also give you all the different minimal solutions (if the initial pattern is solvable). How does it work? Well, you have to solve a big linear system over GF(2)...
• Maze Random Generator.
This javascript program which pressing a button generates randomly a rectangular maze (actually a tree structure) using a simple backtracking tecnique.
• 6x6 Domino Tiling.
Pressing a button, a 6x6 board is randomly tiled using dominoes (a domino is a 2x1 or 1x2 rectangle).
Is it possible to find, among the 6728 combinations, a 6x6 fault-free domino tiling?
• 100.
Find a hamiltonian cycle in a 10x10 board following these rules: skip two squares moving up, down, left or right and skip only one square moving diagonally.

## Flash

• Napoleon's theorem.
If equilateral triangles are erected externally on the on the sides of any triangle, then their centers form an equilateral triangle called Napoleon triangle. The center of the Napoleon triangle coincides with the centroid of the original triangle.
This result has been attributed to Napoleon, though the possibility of his knowing enough geometry is questionable.
• Von Aubel's Theorem.
If squares are erected externally on the sides of any quadrangle then the two segments which connect the centers of opposite squares are of equal length and cross at a right angle.
• Sangaku Problem.
An old japanese theorem from "temple geometry problems" tradition: the in-centers of the four triangles composing a cyclic quadrilateral form a rectangle.
• Star theorem.
From five points on a circle make a star and consider the circles that contains the three vertices of each of the five star points. Then these circles intersect in five other points which are on a same circle.
• Morley's theorem.
The points of intersection of adjacent trisectors of the angles of any triangle are the vertices of an equilateral triangle.
This surprising property of triangles was discovered in 1904 by Frank Morley.

## Java

These applets require the Java browser plug-in for Java2 1.4.0 or higher.
• Mandelbrot Set.
A simple tool for exploring the beautiful fractal sets generated by the complex quadratic polynomials of the form z^2+c.