Source Code (GitHub) | Collection Spec
An Adwaita application for Linux to solve polyform puzzles in various formats. It can tell you, if you are on the right track or, whether it is impossible to solve the puzzle with your current approach.

This is the first project I am developing using Adwaita, GTK and Rust.
I first saw Puzzle A Day in Canada while studying abroad and liked it so much, that I brought it back to Germany with me. After solving it every day for a year, I wanted to know how many solutions there are. So I wrote a solver in Java which can be found here. After finding all solutions for the default layout, I tried out various other layouts. However, I had to recompile for each layout change, and it was not very user-friendly. Thus, I decided to use this project to make myself familiar with Rust and GTK development and provide a more user-friendly interface.
You can solve any Polyomino puzzle with Puzzled, as long as you can provide the layout in the correct format. You can create your own puzzle layouts and load them into the application. In order for Puzzled to import the layouts, you have to create a JSON file following the specification defined here. If you have any problems with creating your own collection, feel free to open an issue on GitHub.
Installation
Puzzled is available on Flathub. You can install it by running:
flatpak install flathub de.til7701.PuzzledReleases
Install from Flathub | GitHub Releases
1.2.1 (2026-05-31)
- Fixed shortcut keys in shortcut dialog.
- The Community Collection explanation pop over now links to my website and not GitHub.
1.2.0 (2026-04-26)
- Updated to Gnome 50.
- Added more puzzles to the Tetromino and Pentomino collections.
- Fixed display bugs when loading an already loaded community collection.
1.1.0 (2026-03-27)
- Added the ability to generate random puzzles.
- Added more puzzles to the pentominoes collection.
- Added popover to explain community collections.
1.0.1 (2026-03-14)
- Updated icon and description for Flathub.
- Set log level to info.
1.0.0 (2026-03-10)
- Added more puzzles to the Hexomino and Tromino collections.
- You now get stars for solving puzzles using fewer hints.
- Improved solver feedback, if no solution is available.
- Allowed marking puzzles as unsolvable.
- Fixed name for menu entry for about dialog.
0.4.0 (2026-02-22)
- Updated collection selection list.
- Grid lines can now be shown on the board.
- Added a How to Play dialog.
- Fixed flickering lines on tiles when moving them.
- When deleting a community collection, another collection is now selected.
- For each collection the average difficulty is now shown.
- The amount of cells to fill on the board is now shown for each puzzle.
0.3.1 (2026-02-18)
- Disallowed moving tile out of the puzzle area.
- Fixed last tile hint showing up when opening another puzzle.
- Fixed unused tile detection.
- Updated layout when window size changes in any way.
0.3.0 (2026-02-16)
- Instead of getting solvability-feedback every time you move a tile, you now have to request a hint. This hint either shows a transparent tile where one should be placed or tells you that the puzzle cannot be solved with the current approach.
- Solved puzzles are now marked as such.
- You can now jump directly to the next puzzle in the collection after finding a solution.
- Collections can now declare, that the puzzles should be solved in a linear order.
- Previews of tiles and boards can now be disabled by collections for locked puzzles.
- Community puzzles are now selected after loading.
- Fixed the solver giving false negatives sometimes.
- Performance of the solver has been improved.
0.2.0 (2026-01-27)
From this release onward, Puzzle More Days has been renamed to Puzzled. This release also includes a basic restructure of the application.
- Puzzles are now organised in collections.
- Collections can be loaded at runtime.
- Collections can be created by the community.
0.1.0 (2026-01-14)
First Release of Puzzle More Days, including the default layout and a layout with a two-digit year. Potential errors are highlighted and a solver predicts the solvability of the current approach.