QQWing is Sudoku generating and solving software that has been ported to 3 programming languages: C++, Java, and JavaScript. Various versions are available to run on different platforms and different environments.

Full source code (GNU Public License 2.0)

Java QQWing

The Java version of QQWing the only multi-threaded version of QQWing and is therefore the fastest. It can generate 1000 Sudoku puzzles per second. If you are planning to generate thousands of Sudoku puzzles, you will want this version. It can be run from the command line, or used as a library from other Java programs to generate or solve Sudoku puzzles.

1.3.4 Java archive (jar)

  1. Requires the Java runtime environment (JRE)
  2. Run: java -jar qqwing-1.3.4.jar --help
  3. See the command line program instructions for help running QQWing from the command line.

JavaScript QQWing

The Javascript version of QQWing can run in web pages to power Sudoku puzzles on web pages. The “play”, “generate”, and “solve” on this website are powered it. QQWing in JavaScript is very slow compared to the Java or C++ versions, however.

1.3.4 JavaScript (tar.gz)

  1. Requires NodeJS to run from the command line.
  2. Run: node qqwing-main-1.3.4.min.js --help
  3. See the command line program instructions for help running QQWing from the command line.

Native QQWing built from C++

This is the most efficient version of QQWing. It has the lowest startup overhead and uses the least CPU per puzzle generated. It also can be used as a library to power other Sudoku applications. (See: other software)

Windows

1.0.1 Windows binary (zip)

  1. Extract qqwing-1.0.1-1.windows.bin.zip using your favorite zip extraction tool
  2. Run command: qqwing.exe --help
  3. See the command line program instructions for help running QQWing from the command line.

Redhat or Fedora Linux

1.0.3 32 bit (rpm) or 1.3.4 64 bit (rpm)

  1. Install: sudo rpm --upgrade --verbose qqwing-*.rpm
  2. Run: qqwing --help
  3. See the command line program instructions for help running QQWing from the command line.

1.3.4 Source RPM (rpm)

  1. Build: rpmbuild --rebuild qqwing-1.3.4-1.src.rpm
  2. A binary RPM file for your system will have created in you system’s rpm directory (often a sub-directory of /usr/src/redhat/). Use the installation instructions above for installing it.
  3. If no binary RPM for your system is available for download, please contact Stephen, to have your binary put on the QQwing website.

Debian or Ubuntu Linux

1.3.4 64 bit (deb)

  1. Install: sudo dpkg --install qqwing_*.deb
  2. Run: qqwing --help
  3. See the command line program instructions for help running QQWing from the command line.

Any platform C++ Source

1.3.4 C++ Source (tar.gz)

  1. Extract: tar xfvz qqwing-1.3.4.tar.gz
  2. Build: cd qqwing-1.3.4
  3. ./configure
  4. make
  5. sudo make install
  6. Run: qqwing --help
  7. See the command line program instructions for help running QQWing from the command line.