A parent of one of our students wrote today about his daughter's occasional frustration with the difficulty some of the problems in our courses. She does fantastic work in our courses, and was easily among the very top students in the class she took with me, and yet she still occasionally hits problems that she can't solve. Moreover, she has access to an excellent math teacher in her school who sometimes can't help her get past these problems, either. (This is no slight to him -- I have students bring me problems I can't solve, too!) Her question: "Why does it have to be so hard?"
We ask hard questions because so many of the problems worth solving in life are hard. If they were easy, someone else would have solved them before you got to them. This is why college classes at top-tier universities have tests on which nearly no one clears 70%, much less gets a perfect score. They’re training future researchers, and the whole point of research is to find and answer questions that have never been solved. You can't learn how to do that without fighting with problems you can't solve. If you are consistently getting every problem in a class correct, you shouldn't be too happy -- it means you aren't learning efficiently enough. You need to find a harder class.
The problem with not being challenged sufficiently goes well beyond not learning math (or whatever) as quickly as you can. I think a lot of what we do at AoPS is preparing students for challenges well outside mathematics. The same sort of strategies that go into solving very difficult math problems can be used to tackle a great many problems. I believe we’re teaching students how to think, how to approach difficult problems, and that math happens to be the best way to do so for many people.
The first step in dealing with difficult problems is to accept and understand their importance. Don't duck them. They will teach you a lot more than a worksheet full of easy problems. Brilliant "Aha!" moments almost always spring from minds cultivated by long periods of frustration. But without that frustration, those brilliant ideas never arise.
Here are a few strategies for dealing with hard problems, and the frustration that comes with them:
Do something. Yeah, the problem is hard. Yeah, you have no idea what to do to solve it. At some point you have to stop staring and start trying stuff. Most of it won't work. Accept that a lot of your effort will appear to have been wasted. But there's a chance that one of your stabs will hit something, and even if it doesn't, the effort may prepare your mind for the winning idea when the time comes. We started developing an elementary school curriculum months and months before we had the idea that became Beast Academy. Our lead curriculum developer wrote 100-200 pages of content, dreaming up lots of different styles and approaches we might use. Not a one of those pages will be in the final work, but they spurred a great many ideas for content we will use. Perhaps more importantly, it prepared us so that when we finally hit upon the Beast Academy idea, we were confident enough to pursue it.
Simplify the problem. Try smaller numbers and special cases. Remove restrictions. Or add restrictions. Set your sights a little lower, then raise them once you tackle the simpler problem.
Reflect on successes. You've solved lots of problems. Some of them were even hard problems! How did you do it? Start with problems that are similar to the one you face, but even think about others that have nothing to do with your current problem. Think about the strategies you used to solve those problems, and you might stumble on the solution. A few months ago, I was playing around with some Project Euler problems, and I came upon a problem that (eventually) boiled down to generating integer solutions to c^2 = a^2 + b^2 + ab in an efficient manner. Number Theory is not my strength, but my path to the solution was to recall first the method for generating Pythagorean triples. Then, I thought about how to generate that method, and then, the path to he solution became clear. (I'm guessing some of our more mathematically advanced readers have so internalized the solution process for this type of Diophantine equation that you don't have to travel with Pythagoras to get there!)
Focus on what you haven't used yet. Many problems (particularly geometry problems) have a lot of moving parts. Look back at the problem, and the discoveries you have made so far, and ask yourself, "What haven't I used yet in any constructive way?" The answer to that question is often the key to your next step.
Work backwards. This is particularly useful when trying to discover proofs. Instead of starting from what you know and working towards what you want, start from what you want, and ask yourself what you need to get there.
Ask for help. This is hard for many outstanding students. You're so used to getting everything right, to being the one everyone else asks, that it's hard to admit you need help. When I first got to MOP my sophomore year, I was in way over my head. I understood very little of anything that happened in class. I asked for help from the professor once -- it was very hard to get up the courage to do so. I didn't understand anything he told me during the 15 minutes he worked privately with me. I just couldn't admit it and ask for more help, so I stopped asking. I could have learned much, much more had I just been more willing to admit to people that I just didn't understand. (This is part of why our classes now have a feature that allows students to ask questions anonymously.) Get over it. You will get stuck. You will need help. And if you ask for it, you’ll get much farther than if you don't.
Start early. This doesn't help much with timed tests, but with the longer-range assignments that are parts of college and of life, it's essential. Don't wait until the last minute -- hard problems are hard enough without having to deal with time pressure. Moreover, complex ideas take a long time to understand fully. The people you know who seem wicked smart, and who seem to come up with ideas much faster than you possibly could, are often people who have simply thought about the issues for much longer than you have. I used this strategy throughout college to great success -- in the first few weeks of each semester, I worked far ahead in all of my classes. Therefore, by the end of the semester, I had been thinking about the key ideas for a lot longer than most of my classmates, making the exams and such at the end of the course a lot easier.
Take a break. Get away from the problem for a bit. When you come back to it, you may find that you haven't entirely gotten away from the problem at all -- the background processes of your brain have continued plugging away, and you'll find yourself a lot closer to the solution. Of course, it’s a lot easier to take a break if you start early.
Start over. Put all your earlier work aside, get a fresh sheet of paper, and try to start from scratch. Your other work will still be there if you want to draw from it later, and it may have prepared you to take advantage of insights you make in your second go-round.
Give up. You won't solve them all. At some point, it’s time to cut your losses and move on. This is especially true when you’re in training, and trying to learn new things. A single difficult problem is usually going to teach you more in the first hour or two than it will in the next six, and there are a lot more problems to learn from. So, set yourself a time limit, and if you’re still hopelessly stuck at the end of it, then read the solutions and move on.
Be introspective. If you do give up and read the solution, then read it actively, not passively. As you read it, think about what clues in the problem could have led you to this solution. Think about what you did wrong in your investigation. If there are math facts in the solution that you don't understand, then go investigate. I was completely befuddled the first time I saw a bunch of stuff about "mod"s in an olympiad solution -- we didn't have the internet then, so I couldn't easily find out how straightforward modular arithmetic is! You have the internet now, so you have no excuse. If you did solve the problem, don't just pat yourself on the back. Think about the key steps you made, and what the signs were to try them. Think about the blind alleys you explored en route to the solution, and how you could have avoided them. Those lessons will serve you well later.
Come back. If you gave up and looked at the solutions, then come back and try the problem again a few weeks later. If you don't have any solutions to look at, keep the problem alive. Store it away on paper or in your mind. Richard Feynman once wrote that he would keep four or five problems active in the back of his mind. Whenever he heard a new strategy or technique, he would quickly run through his problems and see if he could use it to solve one of his problems. He credits this practice for some of the anecdotes that gave Feynman such a reputation for being a genius. It's further evidence that being a genius is an awful lot about effort, preparation, and being comfortable with challenges.