When you’re studying math on your own, a question you must continually ask yourself is how much time to spend on the problem you’re working on. That question also comes up when you’re taking a traditional class, though your options are more limited in that case because of the fixed class schedule. I wrote about this topic last year in the context of competitive programming problems, but there are some special considerations for math problems.

## Math Problem Mindset

Before you work on a math problem, consider your time budget. Do you have minutes, hours, or days available to spend on the problem? And are you willing to spend all the time you have available without giving up early and looking at the solution? The answer to those questions will affect how you approach the problem.

At one extreme, assume you have unlimited time available. The unlimited time mindset gives you the freedom to practice all your problem-solving and creative thinking skills. You can re-read your notes or relevant textbook sections. You can fill up as many sheets of paper as you want with ideas. You can do Internet research. The only thing you can’t do is look up the solution.

**Days**

In reality, you won’t need “unlimited” time for textbook problems. (Research problems are another story). After a few days of work time (perhaps spread out over a longer period of calendar time), you’ll either find a solution or you’ll run out of useful work to do. But the unlimited time mindset encourages you to use all the tools at your disposal. And if you don’t find your own solution, you’re likely to learn something from the textbook’s solution when you read it, since you have spent so much time with the problem.

**Hours**

If *unlimited* really means *days* for textbook problems, then the next option is *hours*. This option works for:

- A class problem set.
- A take-home exam.
- A self-study program where you want to cover a particular set of topics in a limited time.

For the first two cases, someone else has imposed the time limit. If a class requires that you complete a set of 10 problems each week, or a 5-problem take-home exam over the course of a few days, then that’s the time you have. You can’t spend a day per problem, and if you have other things going on, you can’t even spend a few hours per problem. So you have to do what you can in the time available.

For the third case, the time limit is self-imposed. If the goal of your project is not just to spend a particular number of hours studying math, but to learn a particular set of math topics, then you have to keep an eye on how much time each problem takes. In this example, you can still spend hours per problem. So there’s time to sit and think and use a multi-step problem-solving process. But if a problem turns out to be too involved, you might decide to skip it or peek at the solution.

For my project, I’m using more of a *days* approach than an *hours* approach, since I don’t have a fixed curriculum. But either approach can work depending on your goals.

**Minutes**

If you only have minutes to spend per problem, then you’re probably taking a timed exam or contest. Or you’re working on a self-study project where your goal is to burn through a large set of easy problems in order to work on your math fluency.

For an exam, the best approach is to prepare enough in advance that each problem on the exam is just a variation on a problem type you have solved many times before. Then on the exam, you only need a few minutes to work out the details. The same might be true of a contest, though contests like IMO have unique problems that are not amenable to cookbook solutions (or so I have heard).

For the “how much time” question I’m considering here, the *minutes* option isn’t too interesting, since the decision is largely made for you. You just have to budget your time and do your best to demonstrate what you know.

## So How Much Time Should You Spend?

For the competitive programming version of this article, I looked through many recommendations from people on Quora. Specific time recommendations for how long to work ranged from 1—6 hours to 1—3 days, with one person suggesting a week and one suggestion a month. But such time recommendations from other people aren’t too useful. As I did in that article, I recommend instead taking a two-part approach:

- Work on a problem as long as you’re making some progress, and you have some ideas to explore. If after a few attempts and a few breaks you don’t have any ideas for how to proceed, read the first part of the solution and see if it gets you unstuck. Repeat until you make it through the whole solution, or you come up with your own answer.
- To get more specific numbers, keep track of how long it takes you to solve each problem. Then when you’re a couple of hours into a hard problem, you’ll have historical data to tell you how unusual that is.

## Feedback

One way that math problems differ from programming problems is the amount of feedback you get as you’re working on the problem. When you’re solving a programming problem on an online judge, you get feedback from your editor (syntax highlighting and autocompletion) as you write your solution, feedback from your computer (compiler errors and program output), feedback from the online judge (a verdict when you submit your solution), and feedback from your peers (when you look at implementations and editorials). This makes it easier to hack away at the problem for hours, using feedback to motivate you to keep working and find a solution on your own.

With many textbook math problems, it’s harder to get feedback as you work. There’s no feedback as you brainstorm a solution with pencil and paper. A computer usually won’t compile and run your solution or give you a verdict. (Online platforms like Khan Academy can do this for some types of problems, but they aren’t great for practicing proofs). So your first and only feedback opportunity is when you read the solution.

Because feedback is limited, it’s especially important with math problems to decide in advance what mindset you’ll use as you work on the problem. If you can, approach problems as if you have unlimited time. This allows you to brainstorm for longer, write longer proofs, and generally extract more learning benefits from your problem-solving sessions.

*I’m writing about discrete math and competitive programming this year. For an introduction, see A Project for 2019. To read the whole series, see my Discrete Math category page.*

(Image credit: prelude2000)