Home

sk8logic

Puzzle

next

About This App

I first wrote this application in 2002. It was my first experiment in app development using Objective C and the Cocoa environment for Mac OS X.

The underlying algorithm used to solve this puzzle has an even longer history. I wrote that in 1984 on my very first personal computer, an IBM PC XT. The puzzle was shown to me at that time by a friend who had been unable to solve it and wondered if I could find a solution using the computer. The program I wrote was very simple, just a command line program with no user interface. It typed out the solutions in a grid of numbers on the screen which you could then copy to a hand-drawn puzzle grid.

The original program was written in Pascal. It solved the puzzle in a little more than one minute. Over the years I translated the program to C and have brought it along with me to each new computer I've owned. It has served as an interesting benchmark for testing the raw processing speed of each computer's CPU. I have watched that 1 minute drop to seconds, to fractions of a second, and then to under 1 millisecond. That’s an astonishing 60,000 times faster than that IBM PC.

What I built in 2002 was much more than the original program — a visualization of the puzzle which can be directly manipulated on screen. I learned Cocoa programming by building an app with a user interface surrounding my already familiar core logic.

In January 2016 I completely rewrote the app, this time using Swift, Apple's new programming language. This version is thoroughly modernized, employing the best available technologies and programming practices.

Here is the puzzle at its starting point. Take a moment to read the instructions.

The Challenge

The concept is simple, but it is a difficult challenge to solve. The program makes it a bit easier by giving you a simple way to move the digits around to try different combinations — way easier than pencil and paper. It also does the arithmetic for you, allowing you to concentrate on the logic of searching for a solution.

In the next screenshot, notice the color coding — green for cells which satisfy the rules, red for cells which violate them, and yellow for cells which are empty or have empty neighbors. Also notice the selected cell (which contains 2 in this case), the arc which identifies the neighboring cells, and the Info line which describes why this cell is green.

The Challenge in Progress

Whether you succeed at solving the puzzle or give up in frustration, you can tell the computer to solve it for you — as you watch the process step by step. Here's what it looks like when paused at Step 14:

The Solution

System Requirements

Puzzle requires a Macintosh computer running Mac OS version 10.14 or newer. This includes:

10.14 Mojave
10.15 Catalina
11.0 Big Sur
12.0 Monterey
13.0 Ventura
14.0 Sonoma

This is a Universal app — it will run in native mode on either Intel or Apple Silicon.

Download

Puzzle Application Download   Puzzle — Version 3.3.8     (ZIP archive file, 3.9 MB, August 1, 2023)

Install

1. If your browser has not already done it for you, open the ZIP archive file.
2. Drag Puzzle.app to your Applications folder, or wherever you prefer.

More

Turn the page for more information about this program — instructions and hints, plus a description the math behind the puzzle and the algorithm for solving it. If you have any interest in computers and how they perform their magic, this is a good way to learn about what's going on behind the scenes.

Please note that the information on the following pages can also be viewed in the program’s Help pages.