I was inspired by Matt Parker's video, and began, in true Parker Style, with some terrible Python. I got a few solutions, but I decided that a C++ solver would give me better speed, and be worth the port effort.
That was doing OK, churning out solutions still not especially fast, but making progress, until I hit a power outage, disrupting my brute force for loop.
I let things lie dormant for a month or so, and then decided to pull an AI Coding assistant in, who helped me build in a "start from here" feature into my C++ solver, and then pushed solutions to a SQLite database.
I verified the 1,730,280 solution count with my own solver - nice to have the zip file to compare against!
I did my own categorization of the solutions, inspired by Matt Parker's claims in his video, getting the following numbers:
L-shaped: 74,624
I (edge-flush): 1,299,744
I (interior): 3,840
Other: 352,072
I was surprised to find that there's exactly one position for an "interior" I cross-bar (up to rotations).
That was doing OK, churning out solutions still not especially fast, but making progress, until I hit a power outage, disrupting my brute force for loop.
I let things lie dormant for a month or so, and then decided to pull an AI Coding assistant in, who helped me build in a "start from here" feature into my C++ solver, and then pushed solutions to a SQLite database.
I verified the 1,730,280 solution count with my own solver - nice to have the zip file to compare against!
I did my own categorization of the solutions, inspired by Matt Parker's claims in his video, getting the following numbers:
L-shaped: 74,624
I (edge-flush): 1,299,744
I (interior): 3,840
Other: 352,072
I was surprised to find that there's exactly one position for an "interior" I cross-bar (up to rotations).
Fun puzzle!
on /blog/119