No, you're not being too hard on your interview candidates. That's not a hard problem, at least under basic assumptions (not concerned with performance, integer overflow, etc.)
I would say you should pass on the 60% who can't solve it, unless they take the initiative and send you a solution after the interview (I've done this, when I could solve the problem but not in time). That might prevent you from passing on an otherwise good candidate who happened to choke once. The 30% in the middle you can attribute to interview stress, if other indications are that they know how to write code.
The truth is, though, that a large percentage of "professional programmers" have never built anything from scratch and have been wearing training wheels the whole time. 90 percent of what professional programmers do is maintenance at ~10 LoC per day, never leaving the comfort of the IDE or building a system from the ground, and so there are a lot who've never been in a green field or had to solve a hard programming problem. You don't want to hire such people to build new stuff. You're not being "too hard" on them by filtering them out.
In fact, I'm surprised that your fail rate is only 60%.
I would say you should pass on the 60% who can't solve it, unless they take the initiative and send you a solution after the interview (I've done this, when I could solve the problem but not in time). That might prevent you from passing on an otherwise good candidate who happened to choke once. The 30% in the middle you can attribute to interview stress, if other indications are that they know how to write code.
The truth is, though, that a large percentage of "professional programmers" have never built anything from scratch and have been wearing training wheels the whole time. 90 percent of what professional programmers do is maintenance at ~10 LoC per day, never leaving the comfort of the IDE or building a system from the ground, and so there are a lot who've never been in a green field or had to solve a hard programming problem. You don't want to hire such people to build new stuff. You're not being "too hard" on them by filtering them out.
In fact, I'm surprised that your fail rate is only 60%.