These are the main solutions. Don't expect these to be concise - many will contain a bunch of extra fluff for fun and or just for sharing with other devs working through the solutions.
They are all complete, but some are far from perfect and could use a bit more work:
- Day 16 completes, but takes a 4.5 minutes to run. It could be more efficient.
- Day 19 completes, but originally took about 80 minutes to run; I have implemented some improvements to bring this down to around 6-7 seconds.
- Day 22 required a bunch of sketches on paper and a manually-specified topology. Folding the faces of the cube automatically would be much more fun.
I've written Haskell versions of some of the solutions too, because it's a fun language to play around with. They'll be pretty bad given my lack of experience using Haskell. Find them in the haskell-solutions directory.