Well, that's the point - they shouldn't be coding for "free" - it should not be a real-world problem, which is most likely solving a stupid bug in a framework you use, or a simple CRUD/statistics script. Instead, you want a puzzle that is a challenging as it's interesting - e.g. some Code Kata as another commenter suggested. Basically, it should be interesting enough that people who don't want to apply to your job would want to solve it, and after they solve it, you offer them to apply, which they would be likely to do, because you've proven yourself a cool guy/girl.