
SOMA News 
13 Jan 2000
EMail. 
Solving SOMA puzzles has upto now been performed, either by making the puzzle by hand (The REAL game), or by running the SOLVE V1.2 program in a DOS environment.
For Windows fans, we now have A Windows Solver Program.!
Bob Nungester of Cupertino (California, USA) got interested in SOMA again.
By digging out his Cube from the 1960's, and adding graphics to his old 1980
Apple II program. Bob has written a new Visual Basic 6 Solver program.
The programs uses recursive piece placement with an Island and Parity checking method.
The programs supports the .HTM file format of this Web site.
If you want to know more, then this is The creation story of WINSOMA.
Bob has created it as a pair of Windows programs that will be extremely usefull for SOMA puzzle players.
These programs both run on Windows, and allow the solving of Single or Double set soma figures.
Ps: Bob also examined some of the stranger figures, and Bob's 9 tall Hexominoes. are here.
Some of the Unsolvable Nonominoes may even be solved at double hight using two SOMA sets in
The Double Nonominoes.
Get the SOMA solvers in this ZIP file. Just extract it into it's own folder and run the programs.
Version 1.1 N000112_BobNSolvers.zip .
This ZIP contain both solver programs.
Will read SOMA text files, accept manual figure entry, compute solution to figures, show figures both as text and as graphic, that you may view from 4 sides. 
1999.11.11
Here's a short description of the program.
"This program allows you to scroll through and solve any
of the figures in the .HTM files. It will view any figure
up to 16 x 9 x 7 and solve figures containing up to 27 cubes.
It will also solve partial figures, using less than 7 pieces.
In addition, it is easy to create your own figures or edit
existing ones by selecting a level in a figure (17) and
then clicking on a grid of 16 x 9 cells to fill or remove
any particular space.
The display shows the progress of the solution as pieces are
placed in a wireframe model, or you can choose to only see the
final solution, which requires less than a second.
Once the solution is complete
you can cycle through the pieces to display each one
individually in the wireframe model.
Figures can be saved by appending them to .HTM files,
so you can create your own figure sets.
The display allows full rotation about the X, Y and Z axes
at any time."
1999.11.16
It will now do partial figures!
I figured out a simple way to do this, so now it will
work with 127 cubes in the figure.
I abandoned my original file format completely and
switched to the .HTM format. Scrolling through the figures
is fast!
The model space is increased to 16 by 9 by 7 to handle
the largest figures.
I'm still adding code to rotate the figure if it won't
fit as stored in the file.
I updated the CFG file to include the classic piece numbers
so when cycling the display through the pieces, they're in
the correct order. I added shading to each of the three sides
of the colored cubes so it's easier to visualize the figure.
PS: Current remarks are:
Will read SOMA text files, accept manual figure entry, compute solution to figures, show figures both as text and as graphic, that you may view from 4 sides. 
The program allows you to scroll through and solve any
of the Double set figures in the .HTM files.
Otherwise it operates as its smaller SingleSet brother.
PS: The program is freeware.
When trying to solve figures using DoubleSolver, you need to have all 14 pieces marked in the field.
This version does NOT support partial solving.
However;
Let's say you are trying to see if the "Impossible" Wwall could be solved by trying to mix pieces from
two SOMA sets, you could enter the figure as two Wwalls
on the same field (Ps. There's no solution to this scenario).
/SOMADoubleWWall /..***..../..***..../..***.... /..*....../..*....../..*...... /***....../***....../***...... /*......../*......../*........ /*.....***/*.....***/*.....*** /......*../......*../......*.. /....***../....***../....***.. /....*..../....*..../....*.... /....*..../....*..../....*.... Top Middle Bottom Level 3 Level 2 Level 1Or, assume you want to see if the "Impossible" Wwall could be made if we use "some" pieces from one SOMA and some from another SOMA.
/SOMAWWall3Substitutions /..773.../..733.../..223... /..7...../..1...../..2..... /LLL...../P11...../PP2..... /L......./T......./P......V /T......./T......./T.....VV /......../......../........ /......../.......6/..44..66 /......../......../.44...6. /......../......../........ /......../......../........ /......../.......B/..ZZ..BB /......../......../.ZZ...B. /......../......../........ /......../......../........ /......../......../.55...AA /......../.5....A./.5....A.
This program will run on ALL Windows 3.11 / 95 / 98.
Just copy the files of this zip into the appropriate folder,
and run the SOMACP13.EXE program.
The newest version is here:
Version 1.3 SOMACP13.ZIP .
Denmark  Europe.
What it does.
This program will check files for duplicate Soma figures.
The interface allows the user to select one file and then
the program checks all other files in the same directory
against each figure in the selected file.
It works for any figure size up to 54 cubes.
It checks each of the 48 possible orientations (same as
symmetries) The symmetry number listed for each figure
shows the transformation that will make the duplicate figure
the same as this figure.
Each symmetry maps points from X, Y, Z to some other value. For example, a 90 degree clockwise rotation about the X axis maps each X, Y, Z to X, Z, Y (symmetry #11). Listed below are the 48 symmetries:
1 X, Y, Z 9 X, Z, Y 17 Y, X, Z 25 Y, Z, X 33 Z, X, Y 41 Z, Y, X 2 X, Y,Z 10 X, Z,Y 18 Y, X,Z 26 Y, Z,X 34 Z, X,Y 42 Z, Y,X 3 X,Y, Z 11 X,Z, Y 19 Y,X, Z 27 Y,Z, X 35 Z,X, Y 43 Z,Y, X 4 X,Y,Z 12 X,Z,Y 20 Y,X,Z 28 Y,Z,X 36 Z,X,Y 44 Z,Y,X 5 X, Y, Z 13 X, Z, Y 21 Y, X, Z 29 Y, Z, X 37 Z, X, Y 45 Z, Y, X 6 X, Y,Z 14 X, Z,Y 22 Y, X,Z 30 Y, Z,X 38 Z, X,Y 46 Z, Y,X 7 X,Y, Z 15 X,Z, Y 23 Y,X, Z 31 Y,Z, X 39 Z,X, Y 47 Z,Y, X 8 X,Y,Z 16 X,Z,Y 24 Y,X,Z 32 Y,Z,X 40 Z,X,Y 48 Z,Y,X
This one's written in VB3, so it will run in Windows 3.1 or
later.
SOMACOMP.EXE is the program file. In order to run, it
requires CMDIALOG.VBX, COMMDLG.DLL (common dialog box
custom control files) and VBRUN300.DLL (needed for any
VB3 program). These must be located in the C:\WINDOWS\SYSTEM
directory, OR they can be put in the same
directory as the .EXE.
You might already have the VBX and DLL files, but I zipped
them all together in case you don't have them.
Once again, VB has a large DLL needed to run any VB program,
but at least the one for VB3 is "only" 400K instead of 1.5MB.
Bob did almost everything possible to make the program fast.
Comparing a typical file with 25 figures against all the 1,069
nonominoes takes less than 4 seconds!
That works out to over 350,000 figure comparisons per second.
The worst case example is comparing the large nonomino file
against all other figure files available from Thorleif's site.
That took about 7 minutes and found over 100 duplicates in
various files.
PS: The program is freeware.