# Improve my 3D puzzle to have a single solution

3D View of one solutions http://autode.sk/2Dg4FWx

I designed a 4x4x4 soma cube in AutoCad and then built it with wood cubes. There are twelve pentacubes and one tetracube. Each piece is unique and if one is in the set and you can get a different piece by mirroring it, that one is also in the set.

I don't know how many solutions there are, but there are many (Maybe you can tell me how many?). It is still really hard to put it together because you have so many options to place a piece.

What I want is to change it in a way so that there is only one solution left, but it is still hard to put together. Coloring faces or whole cubes could be an option but maybe you would have better ideas!

• Crafty!$\\\\\\\\\\\\$
– humn
Dec 26 '17 at 18:36
• Maybe you could try experimenting with Polycube Puzzle Solver. It seems to allow defining and solving arbitrary polycube puzzles. Dec 26 '17 at 20:30
• The link to the solution no longer works. Apr 26 '21 at 11:38

Your puzzle has 7790 solutions (and their mirror images). I used my own polyform solver (here), which took about 11 minutes. It is slow because it is rather flexible, but you can use faster solvers that are more specific for polycubes, such as the Polycube Puzzle Solver already mentioned in the comments above.

I doubt that there is any 4x4x4 puzzle with a unique solution when you use pieces as small as pentacubes. You are likely going to need one or more larger pieces, or some other way to restrict the placement of the pieces. You could use a colouring scheme (e.g. checkerboard colouring).

I'll do a bit of playing around with my solver to see if I can find something interesting.

Edit: I decided to use 10 hexacubes instead of 12 pentacubes, to make it easier to find sets of pieces with few solutions. My best effort is the following set.

The 10 flat hexacubes consisting of a 1x1x4 spine with two cubes attached to the spine:

A     B     C     D     EE
AAAA  BBBB  CCCC  DDDD  EEEE
A      B      C      D

F F   G  G   HH    I     J
FFFF  GGGG  HHHH  IIII  JJJJ
I      J


Plus the L tetracube:

KKK
K


This has only 3 solutions (and their mirror images).

In the comments below, theonetruepath writes:

Pack a 2x3x4 with any 12 pentacubes and any one tetracube, in all ways. Include all symmetric packings. Count how many times each piece occurs. Make a list of the 12 pentacubes that occur least often plus the tetracube that occurs least often. This set of pieces does not pack the 4x4x4.

Unfortunately I was unable to reproduce this. The set of pentacubes I get still has many solutions when combined with any tetracube. I therefore still stand by my view that pentacube pieces are too small to produce a puzzle with a unique solution.

• Thank you for your answer. Can you provide a list of all solutions you found? I cant really trust the polycube solver, because it found 480 soma cube solutions when i tried it (should be 240) Dec 26 '17 at 21:22
• Presumably the polycube solver treated mirror images as different. Generally they are, but with the soma cube and with your puzzle every piece is symmetric or its mirror image occurs as a piece as well. My solver actually counted 15580 solutions for your puzzle, and I divided by two myself. I can't provide a list of solutions, but you can run my solver. Your puzzle is available under File/Download and select the file stackexchange_puzzle. Then go to the Solve tab and click Solve. Dec 26 '17 at 21:42
• "I doubt that there is any 4x4x4 puzzle with a unique solution when you use pieces as small as pentacubes." I'm not convinced. There are 415167480 ways of choosing 12 pentacubes and one tetracube. Some of these combinations have no solutions. It may be a difficult search, but there probably are many combinations with just one solution. Dec 27 '17 at 5:55
• @theonetruepath Obviously the 1x1x5 block pentacube does not into the 4x4x4 cube, but other than that, can you give me an example of a set of pentacubes without a solution? Dec 27 '17 at 7:09
• I'll describe a set how I found it as that's the easiest way to convey the shapes. Also it'll probably help with finding a set of pieces that has a unique packing 1. Pack a 2x3x4 with any 12 pentacubes and any one tetracube, in all ways. Include all symmetric packings. Count how many times each piece occurs. Make a list of the 12 pentacubes that occur least often plus the tetracube that occurs least often. This set of pieces does not pack the 4x4x4. Dec 27 '17 at 7:25

This is the best I could do. As Jaap Scherphuis points out, the 'tilability' of the pieces is a bit too high to yield unique packings easily. It's still possible (or even likely) that there are sets that will work, but the time to find them might be too high. A complete search would take the rest of my life, assuming I double the speed of my PC every year. A more directed search might turn up a solution in days or months... or it might not.

However if we slant the deck in our favour as follows we can come up with a suitable set:

1. Pack any four pentacubes and any one tetracube into a 2x3x4 in all possible ways.
2. Order the pentacubes and the tetracubes into tilability order based on how often each appears in packings of this shape.
3. Make a list of the 12 least-tilable pentacubes plus the least-tilable tetracube. This set of pieces has lots of packings.
4. Remove the most tilable pentacube from the list and replace it with a copy of the least tilable. So now you have two X-pentacubes. Still too many solutions.
5. Remove the second most tilable pentacube and add a copy of the second-least tilable. Now you have two X- and two Z-pentacubes. Solution count drops to three.
6. Try switching out the tetracube. Turns out the third-most-tilable tetracube gives exactly one solution.

The two dark purples are the X-pentacube, the two dark blues are the two Z-pentacubes.

• I'm going to give it one more shot. Instead of using the 2x3x4 to measure tilability, I'll use the 4x4x4, and set a failure-probability of 80% on every placement to chop the numbers down so it will finish. Also I'll add what I call pair-scoring: Every time I find a packing, I count the places pieces touch each other and increment a counter for that pair of pieces. Then I'll run a breadth-first search to find the "lowest pair scoring" set of say 15 pieces, find all tilings with that set, and then look for a subset of pieces that produced just one tiling. Probability of success: unknown Dec 28 '17 at 1:36
• All of that made no difference. Solving with the 14 least tilable pentacubes plus three tetracubes (ie 3*91 combinations) resulted in 182 combinations that tiled the 4x4x4. You will notice that this is 2x91 - all combinations involving the T-tetracube had no solutions, the rest had from 154 to 33906 each, for a total of 574175 packings. I have no idea why the T-tetracube failed with these 91 combinations of pentacubes.It works with others. The solution given above will have to do, I don't think I could find a better set with just one solution. Dec 30 '17 at 0:46