You could just add a Captcha. I personally prefer Sweetcaptcha because it's free, actually fun for users to use, and there are no bots in the world that can break it (yet). RECaptcha is another option that might help as it is based on text that an automated reader couldn't read, however, some of the puzzles lately are really just strings of numbers (not super safe) and occasionally you get puzzles that are actually unsolvable blurs not even a human can read.