Presumably you choose the letters with a solution in mind, otherwise it might be impossible.

So the lions share of the work was building a solver and then iterating through the solution space to come up with puzzles. All of them are solvable. It’s on my todo list to classify them based on difficulty and potentially add variable difficulty levels by the day.