Some Thoughts on Olympiad Material Design

(This is a bit of a follow-up to the solution reading post last month. Spoiler warnings: USAMO 2014/6, USAMO 2012/2, TSTST 2016/4, and hints for ELMO 2013/1, IMO 2016/2.)

I want to say a little about the process which I use to design my olympiad handouts and classes these days (and thus by extension the way I personally think about problems). The short summary is that my teaching style is centered around showing connections and recurring themes between problems.

Now let me explain this in more detail.

1. Main ideas

Solutions to olympiad problems can look quite different from one another at a surface level, but typically they center around one or two main ideas, as I describe in my post on reading solutions. Because details are easy to work out once you have the main idea, as far as learning is concerned you can more or less throw away the details and pay most of your attention to main ideas.

Thus whenever I solve an olympiad problem, I make a deliberate effort to summarize the solution in a few sentences, such that I basically know how to do it from there. I also make a deliberate effort, whenever I write up a solution in my notes, to structure it so that my future self can see all the key ideas at a glance and thus be able to understand the general path of the solution immediately.

The example I’ve previously mentioned is USAMO 2014/6.

Example 1 (USAMO 2014, Gabriel Dospinescu)

Prove that there is a constant {c>0} with the following property: If {a, b, n} are positive integers such that {\gcd(a+i, b+j)>1} for all {i, j \in \{0, 1, \dots, n\}}, then

\displaystyle  \min\{a, b\}> (cn)^n.

If you look at any complete solution to the problem, you will see a lot of technical estimates involving {\zeta(2)} and the like. But the main idea is very simple: “consider an {N \times N} table of primes and note the small primes cannot adequately cover the board, since {\sum p^{-2} < \frac{1}{2}}”. Once you have this main idea the technical estimates are just the grunt work that you force yourself to do if you’re a contestant (and don’t do if you’re retired like me).

Thus the study of olympiad problems is reduced to the study of main ideas behind these problems.

2. Taxonomy

So how do we come up with the main ideas? Of course I won’t be able to answer this question completely, because therein lies most of the difficulty of olympiads.

But I do have some progress in this way. It comes down to seeing how main ideas are similar to each other. I spend a lot of time trying to classify the main ideas into categories or themes, based on how similar they feel to one another. If I see one theme pop up over and over, then I can make it into a class.

I think olympiad taxonomy is severely underrated, and generally not done correctly. The status quo is that people do bucket sorts based on the particular technical details which are present in the problem. This is correlated with the main ideas, but the two do not always coincide.

An example where technical sort works okay is Euclidean geometry. Here is a simple example: harmonic bundles in projective geometry. As I explain in my book, there are a few “basic” configurations involved:

  • Midpoints and parallel lines
  • The Ceva / Menelaus configuration
  • Harmonic quadrilateral / symmedian configuration
  • Apollonian circle (right angle and bisectors)

(For a reference, see Lemmas 2, 4, 5 and Exercise 0 here.) Thus from experience, any time I see one of these pictures inside the current diagram, I think to myself that “this problem feels projective”; and if there is a way to do so I try to use harmonic bundles on it.

An example where technical sort fails is the “pigeonhole principle”. A typical problem in such a class looks something like USAMO 2012/2.

Example 2 (USAMO 2012, Gregory Galperin)

A circle is divided into congruent arcs by {432} points. The points are colored in four colors such that some {108} points are colored Red, some {108} points are colored Green, some {108} points are colored Blue, and the remaining {108} points are colored Yellow. Prove that one can choose three points of each color in such a way that the four triangles formed by the chosen points of the same color are congruent.

It’s true that the official solution uses the words “pigeonhole principle” but that is not really the heart of the matter; the key idea is that you consider all possible rotations and count the number of incidences. (In any case, such calculations are better done using expected value anyways.)

Now why is taxonomy a good thing for learning and teaching? The reason is that building connections and seeing similarities is most easily done by simultaneously presenting several related problems. I’ve actually mentioned this already in a different blog post, but let me give the demonstration again.

Suppose I wrote down the following:

\displaystyle  \begin{array}{lll} A1 & B11 & C8 \\ A9 & B44 & C27 \\ A49 & B33 & C343 \\ A16 & B99 & C1 \\ A25 & B22 & C125 \end{array}

You can tell what each of the {A}‘s, {B}‘s, {C}‘s have in common by looking for a few moments. But what happens if I intertwine them?

\displaystyle  \begin{array}{lllll} B11 & C27 & C343 & A1 & A9 \\ C125 & B33 & A49 & B44 & A25 \\ A16 & B99 & B22 & C8 & C1 \end{array}

This is the same information, but now you have to work much harder to notice the association between the letters and the numbers they’re next to.

This is why, if you are an olympiad student, I strongly encourage you to keep a journal or blog of the problems you’ve done. Solving olympiad problems takes lots of time and so it’s worth it to spend at least a few minutes jotting down the main ideas. And once you have enough of these, you can start to see new connections between problems you haven’t seen before, rather than being confined to thinking about individual problems in isolation. (Additionally, it means you will never have redo problems to which you forgot the solution — learn from my mistake here.)

3. Ten buckets of geometry

I want to elaborate more on geometry in general. These days, if I see a solution to a Euclidean geometry problem, then I mentally store the problem and solution into one (or more) buckets. I can even tell you what my buckets are:

  1. Direct angle chasing
  2. Power of a point / radical axis
  3. Homothety, similar triangles, ratios
  4. Recognizing some standard configuration (see Yufei for a list)
  5. Doing some length calculations
  6. Complex numbers
  7. Barycentric coordinates
  8. Inversion
  9. Harmonic bundles or pole/polar and homography
  10. Spiral similarity, Miquel points

which my dedicated fans probably recognize as the ten chapters of my textbook. (Problems may also fall in more than one bucket if for example they are difficult and require multiple key ideas, or if there are multiple solutions.)

Now whenever I see a new geometry problem, the diagram will often “feel” similar to problems in a certain bucket. Exactly what I mean by “feel” is hard to formalize — it’s a certain gut feeling that you pick up by doing enough examples. There are some things you can say, such as “problems which feature a central circle and feet of altitudes tend to fall in bucket 6”, or “problems which only involve incidence always fall in bucket 9”. But it seems hard to come up with an exhaustive list of hard rules that will do better than human intuition.

4. How do problems feel?

But as I said in my post on reading solutions, there are deeper lessons to teach than just technical details.

For examples of themes on opposite ends of the spectrum, let’s move on to combinatorics. Geometry is quite structured and so the themes in the main ideas tend to translate to specific theorems used in the solution. Combinatorics is much less structured and many of the themes I use in combinatorics cannot really be formalized. (Consequently, since everyone else seems to mostly teach technical themes, several of the combinatorics themes I teach are idiosyncratic, and to my knowledge are not taught by anyone else.)

For example, one of the unusual themes I teach is called Global. It’s about the idea that to solve a problem, you can just kind of “add up everything at once”, for example using linearity of expectation, or by double-counting, or whatever. In particular these kinds of approach ignore the “local” details of the problem. It’s hard to make this precise, so I’ll just give two recent examples.

Example 3 (ELMO 2013, Ray Li)

Let {a_1,a_2,\dots,a_9} be nine real numbers, not necessarily distinct, with average {m}. Let {A} denote the number of triples {1 \le i < j < k \le 9} for which {a_i + a_j + a_k \ge 3m}. What is the minimum possible value of {A}?

Example 4 (IMO 2016)

Find all integers {n} for which each cell of {n \times n} table can be filled with one of the letters {I}, {M} and {O} in such a way that:

  • In each row and column, one third of the entries are {I}, one third are {M} and one third are {O}; and
  • in any diagonal, if the number of entries on the diagonal is a multiple of three, then one third of the entries are {I}, one third are {M} and one third are {O}.

If you look at the solutions to these problems, they have the same “feeling” of adding everything up, even though the specific techniques are somewhat different (double-counting for the former, diagonals modulo {3} for the latter). Nonetheless, my experience with problems similar to the former was immensely helpful for the latter, and it’s why I was able to solve the IMO problem.

5. Gaps

This perspective also explains why I’m relatively bad at functional equations. There are some things I can say that may be useful (see my handouts), but much of the time these are just technical tricks. (When sorting functional equations in my head, I have a bucket called “standard fare” meaning that you “just do work”; as far I can tell this bucket is pretty useless.) I always feel stupid teaching functional equations, because I never have many good insights to say.

Part of the reason is that functional equations often don’t have a main idea at all. Consequently it’s hard for me to do useful taxonomy on them.

Then sometimes you run into something like the windmill problem, the solution of which is fairly “novel”, not being similar to problems that come up in training. I have yet to figure out a good way to train students to be able to solve windmill-like problems.

6. Surprise

I’ll close by mentioning one common way I come up with a theme.

Sometimes I will run across an olympiad problem {P} which I solve quickly, and think should be very easy, and yet once I start grading {P} I find that the scores are much lower than I expected. Since the way I solve problems is by drawing experience from similar previous problems, this must mean that I’ve subconsciously found a general framework to solve problems like {P}, which is not obvious to my students yet. So if I can put my finger on what that framework is, then I have something new to say.

The most recent example I can think of when this happened was TSTST 2016/4 which was given last June (and was also a very elegant problem, at least in my opinion).

Example 5 (TSTST 2016, Linus Hamilton)

Let {n > 1} be a positive integers. Prove that we must apply the Euler {\varphi} function at least {\log_3 n} times before reaching {1}.

I solved this problem very quickly when we were drafting the TSTST exam, figuring out the solution while walking to dinner. So I was quite surprised when I looked at the scores for the problem and found out that empirically it was not that easy.

After I thought about this, I have a new tentative idea. You see, when doing this problem I really was thinking about “what does this {\varphi} operation do?”. You can think of {n} as an infinite tuple

\displaystyle  \left(\nu_2(n), \nu_3(n), \nu_5(n), \nu_7(n), \dots \right)

of prime exponents. Then the {\varphi} can be thought of as an operation which takes each nonzero component, decreases it by one, and then adds some particular vector back. For example, if {\nu_7(n) > 0} then {\nu_7} is decreased by one and each of {\nu_2(n)} and {\nu_3(n)} are increased by one. In any case, if you look at this behavior for long enough you will see that the {\nu_2} coordinate is a natural way to “track time” in successive {\varphi} operations; once you figure this out, getting the bound of {\log_3 n} is quite natural. (Details left as exercise to reader.)

Now when I read through the solutions, I found that many of them had not really tried to think of the problem in such a “structured” way, and had tried to directly solve it by for example trying to prove {\varphi(n) \ge n/3} (which is false) or something similar to this. I realized that had the students just ignored the task “prove {n \le 3^k}” and spent some time getting a better understanding of the {\varphi} structure, they would have had a much better chance at solving the problem. Why had I known that structural thinking would be helpful? I couldn’t quite explain it, but it had something to do with the fact that the “main object” of the question was “set in stone”; there was no “degrees of freedom” in it, and it was concrete enough that I felt like I could understand it. Once I understood how multiple {\varphi} operations behaved, the bit about {\log_3 n} almost served as an “answer extraction” mechanism.

These thoughts led to the recent development of a class which I named Rigid, which is all about problems where the point is not to immediately try to prove what the question asks for, but to first step back and understand completely how a particular rigid structure (like the {\varphi} in this problem) behaves, and to then solve the problem using this understanding.

On Reading Solutions

(Ed Note: This was earlier posted under the incorrect title “On Designing Olympiad Training”. How I managed to mess that up is a long story involving some incompetence with Python scripts, but this is fixed now.)

Spoiler warnings: USAMO 2014/1, and hints for Putnam 2014 A4 and B2. You may want to work on these problems yourself before reading this post.

1. An Apology

At last year’s USA IMO training camp, I prepared a handout on writing/style for the students at MOP. One of the things I talked about was the “ocean-crossing point”, which for our purposes you can think of as the discrete jump from a problem being “essentially not solved” ({0+}) to “essentially solved” ({7-}). The name comes from a Scott Aaronson post:

Suppose your friend in Boston blindfolded you, drove you around for twenty minutes, then took the blindfold off and claimed you were now in Beijing. Yes, you do see Chinese signs and pagoda roofs, and no, you can’t immediately disprove him — but based on your knowledge of both cars and geography, isn’t it more likely you’re just in Chinatown? . . . We start in Boston, we end up in Beijing, and at no point is anything resembling an ocean ever crossed.

I then gave two examples of how to write a solution to the following example problem.

Problem 1 (USAMO 2014)

Let {a}, {b}, {c}, {d} be real numbers such that {b-d \ge 5} and all zeros {x_1}, {x_2}, {x_3}, and {x_4} of the polynomial {P(x)=x^4+ax^3+bx^2+cx+d} are real. Find the smallest value the product

\displaystyle  (x_1^2+1)(x_2^2+1)(x_3^2+1)(x_4^2+1)

can take.

Proof: (Not-so-good write-up) Since {x_j^2+1 = (x+i)(x-i)} for every {j=1,2,3,4} (where {i=\sqrt{-1}}), we get {\prod_{j=1}^4 (x_j^2+1) = \prod_{j=1}^4 (x_j+i)(x_j-i) = P(i)P(-i)} which equals to {|P(i)|^2 = (b-d-1)^2 + (a-c)^2}. If {x_1 = x_2 = x_3 = x_4 = 1} this is {16} and {b-d = 5}. Also, {b-d \ge 5}, this is {\ge 16}. \Box

Proof: (Better write-up) The answer is {16}. This can be achieved by taking {x_1 = x_2 = x_3 = x_4 = 1}, whence the product is {2^4 = 16}, and {b-d = 5}.

Now, we prove this is a lower bound. Let {i = \sqrt{-1}}. The key observation is that

\displaystyle  \prod_{j=1}^4 \left( x_j^2 + 1 \right) 		= \prod_{j=1}^4 (x_j - i)(x_j + i) 		= P(i)P(-i).

Consequently, we have

\displaystyle  \begin{aligned} 		\left( x_1^2 + 1 \right) 		\left( x_2^2 + 1 \right) 		\left( x_3^2 + 1 \right) 		\left( x_1^2 + 1 \right) 		&= (b-d-1)^2 + (a-c)^2 \\ 		&\ge (5-1)^2 + 0^2 = 16. 	\end{aligned}

This proves the lower bound. \Box

You’ll notice that it’s much easier to see the key idea in the second solution: namely,

\displaystyle  \prod_j (x_j^2+1) = P(i)P(-i) = (b-d-1)^2 + (a-c)^2

which allows you use the enigmatic condition {b-d \ge 5}.

Unfortunately I have the following confession to make:

In practice, most solutions are written more like the first one than the second one.

The truth is that writing up solutions is sort of a chore that people never really want to do but have to — much like washing dishes. So must solutions won’t be written in a way that helps you learn from them. This means that when you read solutions, you should assume that the thing you really want (i.e., the ocean-crossing point) is buried somewhere amidst a haystack of other unimportant details.

2. Diff

But in practice even the “better write-up” I mentioned above still has too much information in it.

Suppose you were explaining how to solve this problem to a friend. You would probably not start your explanation by saying that the minimum is {16}, achieved by {x_1 = x_2 = x_3 = x_4 = 1} — even though this is indeed a logically necessary part of the solution. Instead, the first thing you would probably tell them is to notice that

\displaystyle  \prod_{j=1}^4 \left( x_j^2 + 1 \right) = P(i)P(-i) 	= (b-d-1)^2 + (a-c)^2 \ge 4^2 = 16.

In fact, if your friend has been working on the problem for more than ten minutes, this is probably the only thing you need to tell them. They probably already figured out by themselves that there was a good chance the answer would be {2^4 = 16}, just based on the condition {b-d \ge 5}. This “one-liner” is all that they need to finish the problem. You don’t need to spell out to them the rest of the details.

When you explain a problem to a friend in this way, you’re communicating just the difference: the one or two sentences such that your friend could work out the rest of the details themselves with these directions. When reading the solution yourself, you should try to extract the main idea in the same way. Olympiad problems generally have only a few main ideas in them, from which the rest of the details can be derived. So reading the solution should feel much like searching for a needle in a haystack.

3. Don’t Read Line by Line

In particular: you should rarely read most of the words in the solution, and you should almost never read every word of the solution.

Whenever I read solutions to problems I didn’t solve, I often read less than 10% of the words in the solution. Instead I search aggressively for the one or two sentences which tell me the key step that I couldn’t find myself. (Functional equations are the glaring exception to this rule, since in these problems there sometimes isn’t any main idea other than “stumble around randomly”, and the steps really are all about equally important. But this is rarer than you might guess.)

I think a common mistake students make is to treat the solution as a sequence of logical steps: that is, reading the solution line by line, and then verifying that each line follows from the previous ones. This seems to entirely miss the point, because not all lines are created equal, and most lines can be easily derived once you figure out the main idea.

If you find that the only way that you can understand the solution is reading it step by step, then the problem may simply be too hard for you. This is because what counts as “details” and “main ideas” are relative to the absolute difficulty of the problem. Here’s an example of what I mean: the solution to a USAMO 3/6 level geometry problem, call it {P}, might look as follows.

Proof: First, we prove lemma {L_1}. (Proof of {L_1}, which is USAMO 1/4 level.)

Then, we prove lemma {L_2}. (Proof of {L_2}, which is USAMO 1/4 level.)

Finally, we remark that putting together {L_1} and {L_2} solves the problem. \Box

Likely the main difficulty of {P} is actually finding {L_1} and {L_2}. So a very experienced student might think of the sub-proofs {L_i} as “easy details”. But younger students might find {L_i} challenging in their own right, and be unable to solve the problem even after being told what the lemmas are: which is why it is hard for them to tell that {\{L_1, L_2\}} were the main ideas to begin with. In that case, the problem {P} is probably way over their head.

This is also why it doesn’t make sense to read solutions to problems which you have not worked on at all — there are often details, natural steps and notation, et cetera which are obvious to you if and only if you have actually tried the problem for a little while yourself.

4. Reflection

The earlier sections describe how to extract the main idea of an olympiad solution. This is neat because instead of having to remember an entire solution, you only need to remember a few sentences now, and it gives you a good understanding of the solution at hand.

But this still isn’t achieving your ultimate goal in learning: you are trying to maximize your scores on future problems. Unless you are extremely fortunate, you will probably never see the exact same problem on an exam again.

So one question you should often ask is:

“How could I have thought of that?”

(Or in my case, “how could I train a student to think of this?”.)

There are probably some surface-level skills that you can pick out of this. The lowest hanging fruit is things that are technical. A small number of examples, with varying amounts of depth:

  • This problem is “purely projective”, so we can take a projective transformation!
  • This problem had a segment {AB} with midpoint {M}, and a line {\ell} parallel to {AB}, so I should consider projecting {(AB;M\infty)} through a point on {\ell}.
  • Drawing a grid of primes is the only real idea in this problem, and the rest of it is just calculations.
  • This main claim is easy to guess since in some small cases, the frogs have “violating points” in a large circle.
  • In this problem there are {n} numbers on a circle, {n} odd. The counterexamples for {n} even alternate up and down, which motivates proving that no three consecutive numbers are in sorted order.
  • This is a juggling problem!

(Brownie points if any contest enthusiasts can figure out which problems I’m talking about in this list!)

5. Learn Philosophy, not Formalism

But now I want to point out that the best answers to the above question are often not formalizable. Lists of triggers and actions are “cheap forms of understanding”, because going through a list of methods will only get so far.

On the other hand, the un-formalizable philosophy that you can extract from reading a question, is part of that legendary “intuition” that people are always talking about: you can’t describe it in words, but it’s certainly there. Maybe I would even be better if I reframed the question as:

“What does this problem feel like?”

So let’s talk about our feelings. Here is David Yang’s take on it:

Whenever you see a problem you really like, store it (and the solution) in your mind like a cherished memory . . . The point of this is that you will see problems which will remind you of that problem despite having no obvious relation. You will not be able to say concretely what the relation is, but think a lot about it and give a name to the common aspect of the two problems. Eventually, you will see new problems for which you feel like could also be described by that name.

Do this enough, and you will have a very powerful intuition that cannot be described easily concretely (and in particular, that nobody else will have).

This itself doesn’t make sense without an example, so here is an example of one philosophy I’ve developed. Here are two problems on Putnam 2014:

Problem 2 (Putnam 2014 A4)

Suppose {X} is a random variable that takes on only nonnegative integer values, with {\mathbb E[X] = 1}, {\mathbb E[X^2] = 2}, and {\mathbb E[X^3] = 5}. Determine the smallest possible value of the probability of the event {X=0}.

Problem 3 (Putnam 2014 B2)

Suppose that {f} is a function on the interval {[1,3]} such that {-1\le f(x)\le 1} for all {x} and

\displaystyle  \int_1^3 f(x) \; dx=0.

How large can {\int_1^3 \frac{f(x)}{x} \; dx} be?

At a glance there seems to be nearly no connection between these problems. One of them is a combinatorics/algebra question, and the other is an integral. Moreover, if you read the official solutions or even my own write-ups, you will find very little in common joining them.

Yet it turns out that these two problems do have something in common to me, which I’ll try to describe below. My thought process in solving either question went as follows:

In both problems, I was able to quickly make a good guess as to what the optimal {X}/{f} was, and then come up with a heuristic explanation (not a proof) why that guess had to be correct, namely, “by smoothing, you should put all the weight on the left”. Let me call this optimal argument {A}.

That conjectured {A} gave a numerical answer to the actual problem: but for both of these problems, it turns out that numerical answer is completely uninteresting, as are the exact details of {A}. It should be philosophically be interpreted as “this is the number that happens to pop out when you plug in the optimal choice”. And indeed that’s what both solutions feel like. These solutions don’t actually care what the exact values of {A} are, they only care about the properties that made me think they were optimal in the first place.

I gave this philosophy the name Equality, with poster description “problems where looking at the equality case is important”. This text description feels more or less useless to me; I suppose it’s the thought that counts. But ever since I came up with this name, it has helped me solve new problems that come up, because they would give me the same feeling that these two problems did.

Two more examples of these themes that I’ve come up with are Global and Rigid, which will be described in a future post on how I design training materials.

Putnam 2015 Aftermath

(EDIT: These solutions earned me a slot in N1, top 16.)

I solved eight problems on the Putnam last Saturday. Here were the solutions I found during the exam, plus my repaired solution to B3 (the solution to B3 I submitted originally had a mistake).

Some comments about the test. I thought that the A test was mostly very easy: problems A1, A3, A4 were all routine, and problem A5 is a little long-winded but nothing magical. Problem A2 was tricky, and took me well over half the A session. I don’t know anything about A6, but it seems to be very hard.

The B session, on the other hand, was completely bizarre. In my opinion, the difficulty of the problems I did attempt was

\displaystyle  B4 \ll B1 \ll B5 < B3 < B2.

1. Problems

1.1. Day A


  1. Points {A} and {B} are on the same branch of the hyperbola {xy=1}. Point {P} is selected between them maximizing the area of {\triangle ABP}. Show that the area of region bounded by the hyperbola and {AP} equals the area of region bounded by the hyperbola and {BP}.
  2. Define {a_0 = 1}, {a_1 = 2} and {a_n = 4a_{n-1} - a_{n-2}}. Find an odd prime dividing {a_{2015}}.
  3. Compute

    \displaystyle  \log_2 \prod_{a=1}^{2015} \prod_{b=1}^{2015} \left( 1 + e^{\frac{2\pi i a b}{2015}} \right).

  4. Let {f(x) = \sum_{n \in S_x} 2^{-n}} where {S_x = \{ n \in \mathbb Z^+ \mid \left\lfloor nx \right\rfloor \text { even} \}}. Compute {\inf_{x \in [0,1)} f(x)}.
  5. Let {q \ge 1} be an odd integer and define

    \displaystyle  N_q = \# \left\{ 0 < a < q/4 \mid \gcd(a,q) = 1 \right\}.

    Prove {N_q} is odd if and only if {q = p^k} for some prime {p \equiv 5,7 \pmod8}.

  6. Let {A}, {B}, {M}, {X} be {n \times n} real matrices. Prove that if {AM = MB} and {A}, {B} have the same characteristic polynomial then {\det(A-MX) = \det(B-XM)}.

1.2. Night B

  1. Let {f : \mathbb R \rightarrow \mathbb R} be thrice differentiable. Prove that if {f} has at least five distinct roots then {f + 6f' + 12f'' + 8f'''} has at least two distinct roots.
  2. Starting with the list of positive integers {1, 2, 3, \dots}, we repeatedly remove the first three elements as well as their sum, giving a sequence of sums {1+2+3=6}, {4+5+7=16}, {8+9+10=27}, {11+12+13=36}, {14+15+17=46}, and so on. Decide whether some sum in the sequence ends with {2015} in base {10}.
  3. Define {S} to be the set of real matrices {\left(\begin{smallmatrix} a & b \\ c & d \end{smallmatrix}\right)} such that {a}, {b}, {c}, {d} form an arithmetic progression in that order. Find all {M \in S} such that for some integer {k > 1}, {M^k \in S}.
  4. Let { T = \left\{(a,b,c) \in \mathbb Z_+^3 \mid a,b,c \text{ are sides of a triangle} \right\} }. Prove that

    \displaystyle  \sum_{(a,b,c) \in T} \frac{2^a}{3^b5^c}

    is rational and determine its value.

  5. Let {P_n} be the number of permutations {\pi : \{1, \dots, n\} \rightarrow \{1, \dots, n\}} such that {|\pi(i)-\pi(j)| \le 2} where {|i-j| \le 1}. For any {n \ge 2} show that

    \displaystyle  P_{n+5} - P_{n+4} - P_{n+3} + P_n

    does not depend on {n} and determine its value.

  6. Let {a(k)} be the number of odd divisors of {k} in the interval {[1, \sqrt{2k})}. Compute

    \displaystyle  \sum_{k \ge 1} \frac{(-1)^{k-1} a(k)}{k}.

2. Solution to Problem A1

Standard A1 fare. WLOG {A} is to the left of {B} on the positive branch. First we claim the tangent to {P} must be parallel to line {AB}; otherwise let it intersect the parabola again at {P'}, and any point between {P} and {P'} will increase the area of {\triangle ABP}. In that case, we must have

\displaystyle  -\frac{1}{p^2} = \frac{\frac1a-\frac1b}{a-b} \implies p = \sqrt{ab}

Now the area bounded by {AP} is

\displaystyle  \frac{\frac1a+\frac1p}{2} \cdot (p-a) - \int_a^p \frac 1x \; dx = \frac{1}{2}\left( \frac pa - \frac ap \right) - \log \left( \frac pa \right).

The area of {BP} is computed similarly and gives

\displaystyle  \frac{1}{2}\left( \frac bp - \frac pb \right) - \log \left( \frac bp \right)

and so these are equal.

3. Solution to Problem A2

By induction we have {a_n = \frac12\left( (2+\sqrt3)^n+(2-\sqrt3)^n \right)}. Thus {a_{m} \mid a_{(2k+1)m}} for any {k}, {m}, because their quotient is both rational and an algebraic integer. Thus {a_5 = 362 = 2 \cdot \boxed{181}}.

During the test, I only found this solution by computing {a_1}, \dots, {a_{11}} explicitly and factoring the first {10} numbers, upon which I realized {a_3 \mid a_9}.

4. Solution to Problem A3

First, we use the fact that for any odd integer {m}, we have

\displaystyle  \prod_{1 \le b \le m} (1 + \zeta^b) = 2

where {\zeta} is an {m}th root of unity. (Just plug {-1} into {X^m-1}.) Thus

\displaystyle  \begin{aligned} \log_2 \prod_{a=1}^{2015} \prod_{b=1}^{2015} \left( 1 + e^{\frac{2\pi i a b}{2015}} \right) &= \log_2 \prod_{a=1}^{2015} 2^{\gcd(a,2015)} \\ &= \sum_{a=1}^{2015} \gcd(a,2015) \\ &= \sum_{d \mid 2015} \frac{2015}{d} \phi(d) \\ &= (5+\phi(5))(13+\phi(13))(31+\phi(31)) \\ &= 9 \cdot 25 \cdot 61 \\ &= \boxed{13725}. \end{aligned}

5. Solution to Problem A4

We first prove that {f(x) \ge \frac47} for every {x \in [0,1)}. It suffices to consider {x \ge \frac{1}{2}} since otherwise {f(x) \ge \frac12+\frac14}. We note that for any {k}, if {k \notin S_x} and {k+1 \notin S_x} then we require that {\left\lfloor kx \right\rfloor = \left\lfloor (k+1)x \right\rfloor = 2m+1} for some {m}; since {1 \le 2x < 2} this implies {\left\lfloor (k+2)x \right\rfloor = 2m+2}.

Thus among any three consecutive numbers, at least one is in {S_x}. Plainly {1 \in S_x} and hence {f(x) \ge 2^{-1} + 2^{-4} + 2^{-7} + \dots = \frac47}.

Finally note that

\displaystyle  f\left( \frac23-\varepsilon \right) \rightarrow \frac47 \quad\text{as}\quad x \rightarrow \frac23

so the answer is {L = \boxed{\frac47}}.

6. Solution to Problem A5

Let {q = p_1^{e_1} p_2^{e_2} \dots p_n^{e_n}}. By Principle of Inclusion-Exclusion (or Moebius inversion?) we have

\displaystyle  N_q = \sum_{S \subset \{1, \dots, n\}} (-1)^{|S|} \left\lfloor \frac{q}{4\prod_{s \in S} p_s} \right\rfloor .

The {(-1)^{|S|}} vanishes when taking modulo {2}. Now, {\left\lfloor \frac{\bullet}{4} \right\rfloor \pmod 2} depends only on the input modulo {8}, equalling {0} for {1,3 \pmod 8} and {1} for {5,7\pmod8}. As {p^2 \equiv 1 \pmod 8} the exponents in the floor also can be taken mod {2}. Therefore, we can simplify this to

\displaystyle  N_q \equiv \sum_{S \subset \{1, \dots, n\}} \left\lfloor \frac{q\prod_{s \in S} p_s}{8} \right\rfloor \pmod 2.

Let {A(S) = \left\lfloor \frac{q\prod_{s \in S} p_s}{8} \right\rfloor \pmod 2}. The solution now proceeds in three cases.

If any prime is {1} or {3} mod {8}, say {p_1}, then {A(T) = A(T \cup \{1\})} for {T \subset \{2, \dots, n\}} and thus {N_q} is even.

If all primes are {5} or {7} mod {8} and {n \ge 2}, then {A(T) = A(T \cup \{1,2\})} and {A(T \cup \{1\}) = A(T \cup \{2\})} for {T \subset \{3, \dots, n\}} and thus {N_q} is even.

But if {n = 1} and {p_1 \equiv 5,7 \pmod 8} then {A(\varnothing) + A(\{1\})} is always odd. This completes the proof.

7. Solution to Problem B1

Let {X(f) = f + 2f'}. The problem asks to show {f} having five distinct real roots implies {X(X(X(f)))} has at least two. But by Rolle’s Theorem on

\displaystyle  g(x) = e^{\frac{1}{2} x} f(x) \implies 2g'(x) = e^{\frac{1}{2} x}(f(x) + 2f'(x))

we see that {f} having {k} roots gives {X(f)} having {k-1} roots, so done. (I’m told the trick of considering this function {g} is not new, though I came up with it during the exam so I can’t verify this.)

Lots of people said something about trying to use the Intermediate Value Theorem to show that {X(f)} has a root between any two roots of {f}. This would require {f} to be continuously differentiable, so it breaks down at the last application to {X(X(X(f)))}. I deliberately appealed to Rolle’s Theorem because I didn’t trust myself to deal with these real-analytic issues during the exam.

8. Solution to Problem B3

The answer is

\displaystyle  \begin{pmatrix} t&t\\t&t \end{pmatrix} \quad\text{and}\quad \begin{pmatrix} -3t&-t\\t&3t \end{pmatrix}

for {t \in \mathbb R}. These work by taking {k=3}.

Now to see these are the only ones, consider an arithmetic matrix

\displaystyle  M = \begin{pmatrix} a & a+e \\ a+2e & a+3e \end{pmatrix}.

which is not zero everywhere. Its characteristic polynomial is {t^2 - (2a+3e)t - 2e^2}, with discriminant {(2a+3e)^2 + 8e^2}, so it has two distinct real roots; moreover, since {-2e^2 \le 0} either one of the roots is zero or they are of opposite signs.

Now we can diagonalize {M} by writing

\displaystyle  M = \begin{pmatrix} s & -q \\ -r & p \end{pmatrix} \begin{pmatrix} \lambda_1 & 0 \\ 0 & \lambda_2 \end{pmatrix} \begin{pmatrix} p & q \\ r & s \end{pmatrix} = \begin{pmatrix} ps\lambda_1 - qr\lambda_2 & qs(\lambda_1-\lambda_2) \\ pr(\lambda_2-\lambda_1) & ps\lambda_2 - qr\lambda_1 \end{pmatrix}

where {ps-qr=1}. By using the fact the diagonal entries have sum equalling the off-diagonal entries, we obtain that

\displaystyle  (ps-qr)(\lambda_1+\lambda_2) = (qs-pr)(\lambda_1-\lambda_2) \implies qs-pr = \frac{\lambda_1+\lambda_2}{\lambda_1-\lambda_2}.

Now if {M^k \in S} too then the same calculation gives

\displaystyle  qs-pr = \frac{\lambda_1^k+\lambda_2^k}{\lambda_1^k-\lambda_2^k}.

Let {x = \lambda_1/\lambda_2 < 0} (since {-2e^2 < 0}). We appropriately get

\displaystyle  \frac{x+1}{x-1} = \frac{x^k+1}{x^k-1} \implies \frac{2}{x-1} = \frac{2}{x^k-1} \implies x = x^k \implies x = -1 \text{ or } x = 0

and {k} odd. If {x=0} we get {e=0} and if {x=-1} we get {2a+3e=0}, which gives the curve of solutions that we claimed. (Unfortunately, during the test I neglected to address {x=-1}, which probably means I will get null marks.)

9. Solution to Problem B4

By the Ravi substitution,

\displaystyle  \begin{aligned} \sum_{(a,b,c) \in T} \frac{2^a}{3^b5^c} &= \sum_{x,y,z \ge 1 \text{ odd}} \frac{2^\frac{y+z}{2}}{3^{\frac{z+x}{2}} 5^{\frac{x+y}{2}}} + \sum_{x,y,z \ge 2 \text{ even}} \frac{2^\frac{y+z}{2}}{3^{\frac{z+x}{2}} 5^{\frac{x+y}{2}}} \\ &= \sum_{u,v,w \ge 1} \frac{2^{v+w}}{3^{w+u}5^{u+v}} \left( 1 + \frac{2^{-1}}{3^{-1}5^{-1}} \right) \\ &= \frac{17}{2} \sum_{u,v,w \ge 1} \left(\frac{1}{15}\right)^u \left(\frac25\right)^v \left(\frac23\right)^w \\ &= \frac{17}{2} \frac{\frac{1}{15}}{1-\frac{1}{15}} \frac{\frac25}{1-\frac25}\frac{\frac23}{1-\frac23} \\ &= \boxed{\frac{17}{21}}. \end{aligned}

No idea why this was B4; it was by far the easiest problem on the test for me. I knew how to do it in less than a second on seeing it and the rest was just arithmetic. (We use the Ravi substitution all the time on olympiad inequalities, so it’s practically a reflex for me.)

10. Solution to Problem B5

My solution was long and disgusting, so I won’t write out the full details. The idea is to let {A_n} be the number of permutations in {P_{n+1}} with the additional property that {\pi(1) = 1}. By casework on the index {k} with {\pi(k) = 1} (which must be surrounded by {2} or {3} if {k \neq 1, n}) one obtains

\displaystyle  P_n = 2(A_0 + A_1 + \dots + A_{n-3} + A_{n-1}) \qquad n \ge 2.

Also by more casework one obtains the recursion

\displaystyle  A_n = A_{n-1} + A_{n-3} + 1 \qquad n \ge 3.

From this one obtains

\displaystyle  P_n - P_{n-1} = 2(A_{n-1}-A_{n-2}+A_{n-3}) = 2(A_{n-3}+A_{n-4}+1).

So we know {P_{n+5}-P_{n+4}} and can compute {P_{n+3}-P_n = (P_{n+3}-P_{n+2}) + (P_{n+2}-P_{n+1}) + (P_{n+1}-P_n)} so a long algebraic computation gives that these differ by {\boxed 4}.

Also, I swear I’ve seen the exact condition {|\pi(i)-\pi(j)|\le 2} many years ago, back when I was doing high school olympiads. But it was so long ago I don’t remember the source.

The Mixtilinear Incircle

This blog post corresponds to my newest olympiad handout on mixtilinear incircles.

My favorite circle associated to a triangle is the {A}-mixtilinear incircle. While it rarely shows up on olympiads, it is one of the richest configurations I have seen, with many unexpected coincidences showing up, and I would be overjoyed if they become fashionable within the coming years.

Here’s the picture:


The points {D} and {E} are the contact points of the incircle and {A}-excircle on the side {BC}. Points {M_A}, {M_B}, {M_C} are the midpoints of the arcs.

As a challenge to my recent USAMO class (I taught at A* Summer Camp this year), I asked them to find as many “coincidences” in the picture as I could (just to illustrate the richness of the configuration). I invite you to do the same with the picture above.

The results of this exercise were somewhat surprising. Firstly, I found out that students without significant olympiad experience can’t “see” cyclic quadrilaterals in a picture. Through lots of training I’ve gained the ability to notice, with some accuracy, when four points in a diagram are concyclic. This has taken me a long way both in setting problems and solving them. (Aside: I wonder if it might be possible to train this skill by e.g. designing an “eyeballing” game with real olympiad problems. I would totally like to make this happen.)

The other two things that happened: one, I discovered one new property while preparing the handout, and two, a student found yet another property which I hadn’t known to be true before. In any case, I ended up covering the board in plenty of ink.


Here’s the list of properties I have.

  1. First, the classic: by Pascal’s Theorem on {TM_CCABM_B}, we find that points {B_1}, {I}, {C} are collinear; hence the contact chord of the {A}-mixtilinear incircle passes through the incenter. The special case of this problem with {AB = AC} appeared in IMO 1978.
    • Then, by Pascal on {BCM_CTM_AA}, we discover that lines {BC}, {B_1C_1}, and {TM_A} are also concurrent.
    • This also lets us establish (by angle chasing) that {BB_1IT} and {CC_1IT} are concyclic. In addition, lines {BM_B} and {CM_C} are tangents to these circumcircles at {I} (again by angle chasing).
  2. An Iran 2002 problem asks to show that ray {TI} passes through the point diametrically opposite {M_A} on the circumcircle. This is solved by noticing that {TA} is a symmedian of the triangle {TB_1C_1} and (by the previous fact) that {TI} is a median. This is the key lemma in Taiwan TST 2014, Problem 3, which is one of my favorite problems (a nice result by Cosmin Pohoatza).
  3. Lines {AT} and {AE} are isogonal. This was essentially EGMO 2012, Problem 5, and the “morally correct” solution is to do an inversion at {A} followed by a reflection along the {\angle A}-bisector (sometimes we call this a “{\sqrt{bc}} inversion”).
    • As a consequence of this, one can also show that lines {TA} and {TD} are isogonal (with respect to {\angle BTC}).
    • One can also deduce from this that the circumcircle of {\triangle TDM_A} passes through the intersection of {BC} and {AM_A}.
  4. Lines {AD} and {TM_A} meet on the mixtilinear incircle. (Homothety!) 
  5. Moreover, line {AT} passes through the exsimilicenter of the incircle and circumcircle, by, say Monge d’Alembert. Said another way, the mentioned exsimilicenter is the isogonal conjugate of the Nagel point.

To put that all into one picture:


Teaching A* USAMO Camp

In the last week of December I got a position as the morning instructor for the A* USAMO winter camp. Having long lost interest in coaching for short-answer contests, I’d been looking forward to an opportunity to teach an olympiad class for ages, and so I was absolutely psyched for that week. In this post I’ll talk about some of the thoughts I had while teaching, in no particular order.

1. Class Format

Here were the constraints I was working with. After removing guest lectures, exams, and so on I had four days of teaching time, one for each of the four olympiad subjects (algebra, geometry, combinatorics, number theory). I taught the morning session, meaning I had a three-hour block each day (with a 15-minute break). I had a wonderfully small class — just five students.

Here’s the format I used for the class, which seemed to work reasonably well (as in, if I were to teach the class again I would probably not change it very much.)

  • (0:00-0:10) I usually started the class with a quick warm-up problem (something pretty easy), just to soak up time from latecomers and give students a chance to get ready and glance through the handout. (If you give smart students a pretty handout, the first thing they will do is look through it, regardless of what you tell them to actually do.)
  • (0:10-1:30) Afterwards I would go through the lecture, both theory and examples, up until the break. On average this got split up with about half the time for the theory and half the time for the examples. I typically let students try the examples themselves for five minutes (again, smart students will automatically start on the problems regardless of whether you tell them to or not) before I discuss the solution, just so they at least have a feeling for what it is — I consider it immoral to start talking about a solution before students have had a chance to try a problem.
  • (1:30-2:40) After a break, I would give the students a long period (a little over an hour) to try the practice problems in the last section of the handout. Since the class was so small, I would prepare about 5-7 practice problems and then let each of them pick a different problem to start working on. (Once they solved their own problem, they would go on and try other ones.)During this time, I was able to take advantage of the small class size in a pretty great way: throughout the hour I would walk around the room talking to each of the students about the problem they were working on. In particular, I tried to make sure every student at least solved the problem they started with.
  • (2:40-3:00) In the last 20 minutes of class or so, I had each student present the solution to the problem which they worked on. I think the main utility of this is that it forces the present-er to know clearly in their head what their solution is. This was actually possibly more useful for my feedback than for the students: if a student could present the solution to their problem to the class then I knew they understood at least each of the individual steps.Overall I think this format did more or less what I intended it to do, and will definitely be re-using it if I ever teach an olympiad class in this style again. Though I don’t know how well the second half might work in a bigger room: I actually had to do a bit of running to keep up with questions and ideas that the students came up with while working, and of course the presentation time is proportional to the number of students you have (maybe 3-5 minutes each). So if I had, say, 10 students, I would probably re-think how to run the end.

2. Picking Topics

I think it’s general kind of useless to teach a class where you do a mix of unrelated problems. For example, I never really liked “functional equations” as a class. And don’t even get me started on the typical “divisibility” class. That’s what the IMO Shortlist is for, and the students already have that. Anyone competing at this level already knows how to pick up a collection of problems and practice against it. Class needs to something more than that.

My idea is that problems in an olympiad class should be linked by some underlying, specific theme. It doesn’t have to be a specific technique, but it can be. The reason is that this way, you can see the theme re-appear over and over again. By the time you see it the fifth time, hopefully things start to click.

Let me phrase this another way. Suppose I gave wrote down the following:

\displaystyle \begin{array}{lll} A1 & B11 & C8 \\ A9 & B44 & C27 \\ A49 & B33 & C343 \\ A16 & B99 & C1 \\ A25 & B22 & C125 \end{array}

You can tell what each of the {A}‘s, {B}‘s, {C}‘s have in common by looking for a few moments. But what happens if I intertwine them?

\displaystyle \begin{array}{lllll} B11 & C27 & C343 & A1 & A9 \\ C125 & B33 & A49 & B44 & A25 \\ A16 & B99 & B22 & C8 & C1 \end{array}

This is the same information, but now you have to work much harder to notice the association between the letters and the numbers they’re next to.

I think the class is kind of the same idea. If you want to draw out the idea of orders, pick a bunch of problems that involve orders in spirit. They don’t have to be exactly the same problem, but they should be reasonably related.

So to produce a good olympiad handout, you need to have something to say. I think my Chinese Remainder Theorem handout is a good example (it was actually something I was considering using for the NT session, but I decided on something else eventually). I want to point out how CRT is used in constructions, so the examples and practice problems are all designed to illustrate this point. There’s a large degree of micro-control throughout the entire thing.

Honestly, I think it’s really easy to teach olympiad math badly: just pick a bunch of unrelated problems, go through the solutions one by one, then give some more unrelated problems for practice. The students will still get better, because they are practicing. But is that all you can do as a teacher?

For the record, here’s the topics I ended up using for the camp.

  • Orders / Lifting the Exponent
  • Irreducibility of Polynomials
  • Projective Geometry
  • Double Summation

3. Narrowing Problems

Something new I tried for this lecture was trimming a lot.

At MOP, I’d often get a handout for a MOP class with something like 30 problems on it. We’d get to pick which ones we worked on, and then we’d see or present some of the solutions in class. The issue is that, well, a class isn’t that long, so I would only be able to work on two or three problems, and these wouldn’t be the same as the two or three problems other people worked on or presented.

I think the hope was that when we went home we’d still have like 20 various problems to work on. The problem is that I couldn’t possibly have worked on the left-over 20 problems from every class even if I wanted to — there were just too many.

I fought this issue at A* by trimming down the practice problems a lot. My handouts essentially had only 5-7 problems to work on. This way, more people had looked at the same problems when it came time for presentations.

The reason I picked 5-7 was so that every student could work on (and hence present) a different problem. In retrospect I’m not sure this was a good idea. If I were to teach again, I might even cut it down to fewer than that, maybe four problems or so. That way, everyone really works on the same problems, and presentations of solutions are infinitely more useful. I would just have to work around the fact that on any given day, not all students would have a chance to present.

4. Things I Did Badly

Finally, here’s a couple things I wish I had fixed.

First, I made a lot of assumptions about what people knew and didn’t knew. I thought I had made the NT lecture too hard because the room was very quiet, but it in fact turned out that it was because the students had actually seen most of the order material before.

The only reason I found out was because after I had finished presenting all the order material, I asked out of curiosity whether anyone had seen this already, not actually expecting anyone to raise their hands. Instead, the entire class did. Students really are too polite — I must have bored them to tears for those first 45 minutes.

The solution to this is really simple: just ask the students if they’ve seen it before. Any teacher knows that students are shy to admitting they don’t understand what you’re talking about, but if you just ask “have any of you seen this before?” the students will in general be pretty honest. (If you phrase it as “have any of you not seen this before” the results are less accurate.) So that’s something I will remember to do much more of later on.

The other thing is that I likely made the practice problems too hard. I felt like I had to give too many hints: at least the students understand the solution, but I’m not sure how helpful it is to only solve the problem because the hints given amounted to an outline of the solution. In my defense, I was guessing in the dark as to the abilities of the students, and erred on the side of hard. (Any of you who do math olympiads know how useless and boring a too-easy class is; in contrast, classes which are a tad too hard can often still be beneficial.) But the point stands that my estimate was wrong.

Finally, I think I wore the students out a bit too much. I was happy with their performance in my class, but apparently they were all pretty tired during afternoon. But I think that might just be because of the way the camp is set up — six hours of class a day is really a lot, even for the very hardcore.

5. Closings

Overall I was quite happy with how the classes turned out, and I think the students were too (either that or they were very generous with my instructor ratings). I can’t wait until I get an opportunity like this again, but that might be a long time in coming — there really aren’t that many USAMO-level students out there as I would like!

Three Properties of Isogonal Conjugates

In this post I’ll cover three properties of isogonal conjugates which were only recently made known to me. These properties are generalization of some well-known lemmas, such as the incenter/excenter lemma and the nine-point circle.

1. Definitions

Let {ABC} be a triangle with incenter {I}, and let {P} be any point in the interior of {ABC}. Then we obtain three lines {AP}, {BP}, {CP}. Then the reflections of these lines across lines {AI}, {BI}, {CI} always concur at a point {Q} which is called the isogonal conjugate of {P}. (The proof of this concurrence follows from readily from Trig Ceva.) When {P} lies inside {ABC}, then {Q} is the point for which {\angle BAP = \angle CAQ} and so on.


The isogonal conjugate of {P} is sometimes denoted {P^\ast}. Note that {(P^\ast)^\ast = P}.

Examples of pairs of isogonal conjugates include the following.

  1. The incenter is its own isogonal conjugate. Similarly, each excenter is also its own isogonal conjugate.
  2. The isogonal conjugate of the circumcenter is the orthocenter.
  3. The isogonal conjugate of the centroid is the symmedian point.
  4. The isogonal conjugate of the Nagel point is the point of concurrence of {AT_A}, {BT_B}, {CT_C}, where {T_A} is the contact point of the {A}mixtilinear incircle. The proof of this result was essentially given as Problem 5 of the European Girl’s Math Olympiad.

2. Inverses and Circumcircles

You may already be aware of the famous result (which I always affectionately call “Fact 5”) that the circumcenter of {BIC} is the midpoint of arc {BC} of the circumcircle of {ABC}. Indeed, so is the circumcenter of triangle {BI_AC}, where {I_A} is the {A}-excenter.


In fact, it turns out that we can generalize this result for arbitrary isogonal conjugates as follows.

Theorem 1 Let {P} and {Q} be isogonal conjugates. Then the circumcenters of {\triangle BPC} and {\triangle BQC} are inverses with respect to the circumcircle of {\triangle ABC}.


Proof: This is just angle chasing. Let {O_P} and {O_Q} be the desired circumcenters. It’s clear that both {O_P} and {O_Q} lie on the perpendicular bisector of {\overline{BC}}. Angle chasing allows us to compute that

\displaystyle \angle BO_PO = \frac 12 \angle BO_PC = 180^{\circ} - \angle BPC.

Similarly, {\angle BO_QO = 180^{\circ} - \angle BQC}. But the reader can check that {\angle BPC + \angle BQC = 180^{\circ} + A}. Using this we can show that {\angle OBO_Q = \angle BO_PO}, so {\triangle OBO_P \sim \triangle OO_QB}, as needed. \Box

When we take {P} and {Q} to be {I} (or {I_A}), we recover the Fact 5 we mentioned above. When we take {P} to be the orthocenter and {Q} to be the circumcenter, we find that the circumcenter of {BHC} is the inverse of the circumcenter of {BOC}. But the inverse of the circumcenter of {BOC} is the reflection of {O} over {\overline{BC}}. Thus we derive that {\triangle BHC} and {\triangle BOC} have circumcircles which are just reflections over {\overline{BC}}.

3. Pedal Circles

You may already be aware of the nine-point circle, which passes through the midpoints and feet of the altitudes of {ABC}. In fact, we can obtain such a circle for any pair of isogonal conjugates.

Theorem 2 Let {P} and {Q} be isogonal conjugates in the interior of {\triangle ABC}. The pedal triangles of {P} and {Q} share a circumcircle. Moreover, the center of this circle is the midpoint {M} of {\overline{PQ}}.


Upon taking {P=H} and {Q=O} we recover the nine-point circle. Of course, the incircle is the special case {P=Q=I}!

Proof: Let {\triangle P_AP_BP_C} and {\triangle Q_AQ_BQ_C} be the pedal triangles. We leave the reader to check that

\displaystyle AP_C \cdot AQ_C = AP \cdot AQ \cdot \cos \angle BAP \cdot \cos \angle BAQ = AP_B \cdot AQ_B.

Consequently, the points {P_C}, {Q_C}, {P_B}, {Q_B} are concyclic. The circumcenter of these four points is the intersection of the perpendicular bisectors of segments {\overline{P_CQ_C}} and {\overline{P_BQ_B}}, which is precisely {M}. Thus

\displaystyle MP_C = MQ_C = MP_B = MQ_B.

Similarly work with the other vertices shows that {M} is indeed the desired circumcenter. \Box

There is a second way to phrase this theorem by taking a homothety at {Q}.

Corollary If the point {Q} is reflected about the sides {\overline{AB}}, {\overline{BC}}, and {\overline{CA}}, then the resulting triangle has circumcenter {P}.

4. Ellipses

We can actually derive the following remarkable result from the above theorem.

Theorem 3 An ellipse {\mathcal E} is inscribed in triangle {ABC}. Then the foci {P} and {Q} are isogonal conjugates.

Of course, the incircle is just the special case when the ellipse is a circle.


Proof: We will deduce this from the corollary. Let the ellipse be tangent at points {D}, {E}, {F}. Moreover, let the reflection of {Q} about the sides of {\triangle ABC} be points {X}, {Y}, {Z}. By definition, there is a common sum {s} with

\displaystyle s = PD + DQ = PE + EQ + PF + FQ.

Because of the tangency condition, the points {P}, {D}, {X} are collinear. But now

\displaystyle PX = PD+DX = PD+DQ = s

and we deduce

\displaystyle PX = PY = PZ = s.

So {P} is the circumcenter of {\triangle XYZ}. Hence {P} is the isogonal conjugate of {Q}. \Box

The converse of this theorem is also true; given isogonal conjugates {P} and {Q} inside {ABC} we can construct a suitable ellipse. Moreover, it’s worth noting that the lines {AD}, {BE}, {CF} are also concurrent; one proof is to take a projective transformation which sends the ellipse to a circle.

Using this theorem, we can give a “morally correct” solution to the following problem, which is IMO Shortlist 2000, Problem G3.

Problem Let {O} be the circumcenter and {H} the orthocenter of an acute triangle {ABC}. Show that there exist points {D}, {E}, and {F} on sides {BC}, {CA}, and {AB} respectively such that

\displaystyle OD + DH = OE + EH = OF + FH

and the lines {AD}, {BE}, and {CF} are concurrent.

Proof: Because {O} and {H} are isogonal conjugates we can construct an ellipse tangent to the sides at {D}, {E}, {F} from which both conditions follow. \Box

5. Pascal’s Theorem

For more on isogonal conjugates, see e.g. Darij Grinberg. I’ll just leave off with one more nice application of isogonal conjugates, communicated to me by M Kural last August.

Theorem 4 (Pascal) Let {AEBDFC} by a cyclic hexagon, as shown. Suppose {P = \overline{AB} \cap \overline{DE}} {Q = \overline{CD} \cap \overline{FA}}, and {X = \overline{BC} \cap \overline{EF}}. Then points {P}, {X}, {Q} are collinear.


Proof: Notice that {\triangle XEB \sim \triangle XCF}, though the triangles have opposite orientations. Because {\angle BEP = \angle BED = \angle BCD = \angle XCQ}, and so on, the points {P} and {Q} correspond to isogonal conjugates. Hence {\angle EXP = \angle QXF}, which gives the collinearity. \Box

Thanks to R Alweiss and heron1618 for pointing out a few typos, and Daniel Paleka for noticing a careless application of Brianchon’s theorem.

What leads to success at math contests?

I think this is an important question to answer, not the least of reasons being that understanding how to learn is extremely useful both for teaching and learning. [1]

About a year ago [2], I posted my thoughts on what the most important things were in math contest training. Now that I’m done with the IMO I felt I should probably revisit what I had written.

It looks like the main point of my post a year ago was mainly to debunk the idea that specific resources are important. Someone else phrased this pretty well in the replies to the thread

The issue is many people simply ask about how they should prepare for AIME or USAMO without any real question. They simply figure that AOPS has a lot of successful people that excel at both contests, so why not see what they did? Unfortunately, that’s not how it works – that’s what this post is saying. There is no “right” training.

This is so obvious to me now that I’m going to focus more on what I think actually matters. So I now have the following:

  1. Do lots of problems.
  2. Learn some standard tricks.
  3. Do problems which are just above your reach.
  4. Understand the motivation behind solutions to problems you do.
  5. Know when to give up.
  6. Do lots of problems.

Elaboration on the above:

  1. Self-explanatory. I can attest that the Contests section on AoPS suffices.
  2. One should, for example, know what a radical axis is. It may also help to know what harmonic quadrilaterals, Karamata, or Kobayashi is, for example, but increasingly obscure things are increasingly less necessary. This step can be achieved by using books/handouts or doing lots of problems.
  3. Basically, you improve when you do problems that are hard enough to challenge you but reasonable for you to solve. My rule of thumb is that you shouldn’t be confident that you can solve the practice problem, nor confident that you won’t solve it. There should be suspense.

    In my experience, people tend to underestimate themselves — probably my biggest regret was being scared of IMO/USAMO #3’s and #6’s until late in my IMO training, when I finally realized I needed to actually start solving some. I encourage prospective contestants to start earlier.

  4. I think the best phrasing of this is, “how would I train a student to be able to solve this problem?”, something I ask myself a lot. By answering this question you also understand

    a. Which parts of the solution are main ideas and which steps are routine details,
    b. Which parts of the problem are the “hard steps” of the problem,
    c. How one would think of the hard steps of the solution,
    and so on. I usually like to summarize the hard parts of the solution in a few sentences. As an example, “USAMO 2014 #6 is solved by considering the N \times N grid of primes and noting that small primes cannot cover the board adequately”. Or “ELMO 2013 #5 is solved by considering the 1D case, realizing the answer is cn^k, and then generalizing directly to the 3D case”.

    In general, after reading a solution, you should be able to state in a couple sentences all the main ideas of the solution, and basically know how to solve the problem from there.

  5. In 2011, JMO #5 took me two hours. In 2012, the same problem took me 30 seconds and SL 2011 G4 took me two hours. Today, SL 2011 G4 takes me about five minutes and IMO 2011 #6 took me seven hours. It would not have been a good use of my time in 2011 to spend several hundred hours on IMO #6.

    This is in part doing (3) correctly by not doing things way, way over your head and not doing things way below your ability. Regardless you should know when to move on to the next problem. It’s fine to try out really hard problems, just know when more time will not help.

    In the other direction, some students give up too early. You should only give up on a problem after you’ve made no progress for a while, and realize you are unlikely to get any further than you already are. My rule of thumb for olympiads is one or two hours without making progress.

  6. Self-explanatory.

I think the things I mentioned above are at least extremely useful (“necessary” is harder to argue, but I think you could make a case for it). Now is it sufficient? I have no idea.

  1. The least of reasons is that people ask me this all the time and I should properly prepare a single generic response.
  2. It’s only been a year? I could have sworn it was two or three.

Writing Olympiad Geometry

I always wondered whether I could generate olympiad geometry problems by simply drawing lines and circles at random until three lines looked concurrent, four points looked concyclic, et cetera. From extensive experience you certainly get the feeling that this ought to be the case — there are tons and tons of problems out there but most of them have relatively simple statements, not involving more than a handful of points. Often I think, “I bet I could have stumbled upon this result just by drawing things at random”.

So one night, I decided to join the tangency point of A-mixtilinear circle with the orthocenter of a triangle ABC. You can guess about how well that went. Nothing came up after two hours of messing around randomly.

Surprisingly, though, I found almost by accident that the following modification has had significant succes:

  1. First, start with a known configuration: for example, the the incircle and A-excircle touch BC at D, E such that BD = CE.
  2. Do some random manipulations to obtain an equivalent result. For this step, I like to use harmonic bundles, but I suspect other things work too. At the end of this step you should have something you might call a “proxy problem” — while you could take this and propose it to an olympiad, it’s probably somewhat contrived and uninteresting at the moment. (Your mileage may vary! I did get a nice result out of this once.)
  3. Starting with the proxy problem, start adding in new lines and circles and points until you find a conjecture.

In other words, it seems like “randomly wander” doesn’t work so well, but “randomly wander starting from somewhere that already has structure” works great. I’ve tried this four times and each time has gotten me a new problem.

I have to wonder what makes this work. I think it has something to do with the fact that olympiad geometry has a different structure to it than the other olympiad subjects. For example, given an arbitrary geometry problem and two contestants, it’s much more likely that they will come up with different solutions than in any other subject. This seems to suggest that, if one takes a true result and examines the diagram, there is likely other structure present within.

That’s my best guess for why this works, anyways. Obviously just heuristics, but as long as I keep getting more problems…

Constructing Parallelograms

This is a reflection of a talk I gave today. Hopefully these reflections (a) help me give better talks, and (b) help out some others.

Today I was worked from 6PM-8PM with the Intermediate group at the Berkeley Math Circle, middle school students maybe one or two standard deviations above the average honors student. My talk today was “All you have to do is construct a parallelogram!”.  Here is a link to the handout problems and their solutions. (Obviously I only went over a very proper subset of the problems during the lecture.)


Some background information: I had actually given an abridged version of the lecture to the honors geometry class at my Horner Junior High (discussing only 1,2,4,10). It had gone, as far as I could tell, very well. The HJH students audibly reacted as I completed the (short) solutions to their problems, meaning they not only understood the solutions but also could see them clearly enough to appreciate their elegance. A lot of students also thanked me after the lecture, and one of them asked for copies of my notes and told me I gave the best lectures. (Yay!)

The success of this lecture led me to adopt it for the Circle. The changes I made were:

  1. Add more problems (duh).
  2. Give more depth to the explanations, e.g. trying to explain motivations behind steps.
  3. Give students substantial time to try the problems themselves. Because IMO it spoils the fun for me to just keep giving solutions.

I plotted out in my head what direction the lecture would lead to. The most memorable part, I decided, would be problem #10 (by far my favorite on the set — try it!), and so I made a note to myself to end with that one. This turned out to be a good decision.


I started out by asking the students to name some properties of parallelograms. The important ones came out — parallel sides, congruent sides, and bisection of diagonals, along with some others I didn’t think of. I got a lot of people trying to answer this one. So far so good.

I then asked what conditions listed above were sufficient to prove a parallelogram. Again I got the two I wanted: two sides both parallel and congruent, and the bisection of diagonals. I then explained that we were going to be using the bisection criteria a lot.  I proceeded to present problem 1, asking the students for ideas, and was pleasantly surprised to end up with a solution that I hadn’t thought of. After congratulating the person who found the solution, I proceeded to present my solution, and tried to explain the idea of reflecting over midpoints to construct parallelograms.

I then let the students work for about 10 minutes on #2, #3, #4. Unfortunately, this is where the lecture started turning downhill. I walked around the room to see if there were any questions and to see what the students were coming up with. To my surprise, I found that a large portion of the students (more than half) were not doing the problems I asked them to do. I usually don’t mind if a few students aren’t interested, but the number of them really surprised me.

The second unpleasant surprise came when I began presenting the solution to #2. No one solved it in the 10 minutes, despite me having just told them to reflect points over midpoints (and there was only one possible reflection) — or if someone did, he/she didn’t saying anything. In retrospect I definitely should have written this on the board. Fortunately, I do coax the answer out of them by asking the right questions, but I now started to worry that the difficulty was too hard — ironic since I was initially worried about it being too easy.

The lack of solves on #2 means no one attempted #3 either (I also asked), so I am starting on a blank slate. Fortunately, this one turned out to be not as hard. The students quickly identify the good point and the steps towards the solution. #4 did not work as well, but this is mostly my fault because I made a mistake while presenting the solution and confused the students (and also kept mislabelling points). I did not catch it until the end.  After the solution to #4 I am a bit nervous, as the students have been in general rather quiet and were not reacting at all to the solutions (unlike the Horner students). I briefly ask the students whether I am making sense, if I am going too fast/slow, etc. (Of course, I know from experience that this is about as useful as asking someone what he/she wants for Christmas, but I cannot help doing so anyways.)

At this point it is 6:55 or so, and we have our 10-minute break. Herein, one student asks me for help with word problems — I tell him to chat with me after break (he never did). The other asks me if I am v_Enhance on AoPS. I guess my reputation precedes me.

After the break we present monthly contest awards (guess who’s the grader?). I then give the students a substantial amount of time (20 mins or so) to work on #6, #7, #10, #11. The ones that did seem to be working seemed mostly interested in #10 (good!). However, as before, less than half the students were actually doing the problems. The others are chatting quietly or drawing in their notebooks. Again I say nothing, but at this point I am slightly discouraged.

At 7:30PM I regroup and begin discussing #6. This one went very badly. The students seemed confused in general, and mostly fail to answer my questions. It is at this point I inadvertently learn that a few students do not actually know the similarity theorem for triangles (SAS~, SSS~, AA). By the time I finish, 20 minutes have passed (leaving 10 left) and the students seem tired.

At this point I start with #10, which is met with some enthusiasm as quite a few students are eager to see a solution. I start by asking the students to randomly guess where to place the fourth vertex until they get it right. (There are only \binom 52 \cdot 3 = 30 possible reflections, after all… :P). Nicely, the correct construction comes out on the fourth guess. :) I then proceed to explain the solution, which seems to be making much more sense. The timing works out great, and I deliver the punch line of the solution just as the lecture ends, to quite some applause. (You’ll have to see the solution to understand why!) Among the murmuring afterwards I hear lots of students saying that it was really good choice for ending. Quite a few students also thank me for the lecture afterwards (something that is actually quite rare), so it looks like these last ten minutes were more successful than anything else.


The thing that surprised me the most was the drawing in notebooks. I had assumed that the BMC students would be more motivated/interested than the kids at HJH. It turned out this was not the case. In retrospect, here are perhaps a few explanations why.

  • At a public school, the type of lecture I gave is really rare and stands out. In contrast, the BMC students regularly get good lectures on good mathematics, so it was harder for me to stand out.
  • I didn’t have the position of authority a classroom teacher has at BMC.
  • The HJH honors geometry students are actually very strong, as these are precisely the students that skipped a year of math. Many, if not most, are also my students in math club.
  • In that vein, many of the HJH students already know me well, from math club or otherwise.
  • The students who would have been the top students in Intermediate were long promoted to the Advanced group.

Here are some other thoughts.

  • I saw a lot of students staring at the diagrams I had provided on the page and not doing anything else. I wonder if next time I should omit diagrams from my geometry lectures, forcing the students to draw the diagrams themselves.
  • USAMO problems seem too hard under any circumstances. Even when the phrase “this is not a very hard geometry problem” appears in the rubric, and with significant hints.
  • I should have asked about the similarity. I kind of assumed everyone knew SSS~, SAS~, and AA.  This was false.

A couple more positive ones.

  • A couple times in the lecture I would ask the students for a Greek letter to name an angle. This actually drew a lot of attention and seemed to help with keeping the students awake; I should try this more in the future.
  • The #10 at the end really saved my lecture. So I will be thinking some more about keeping an “ace in the hole” so my talks finish on a memorable note.

Eh, teaching is hard.