Stay ahead of learning milestones! Enroll in a class over the summer!

G
Topic
First Poster
Last Poster
k a April Highlights and 2025 AoPS Online Class Information
jlacosta   0
Apr 2, 2025
Spring is in full swing and summer is right around the corner, what are your plans? At AoPS Online our schedule has new classes starting now through July, so be sure to keep your skills sharp and be prepared for the Fall school year! Check out the schedule of upcoming classes below.

WOOT early bird pricing is in effect, don’t miss out! If you took MathWOOT Level 2 last year, no worries, it is all new problems this year! Our Worldwide Online Olympiad Training program is for high school level competitors. AoPS designed these courses to help our top students get the deep focus they need to succeed in their specific competition goals. Check out the details at this link for all our WOOT programs in math, computer science, chemistry, and physics.

Looking for summer camps in math and language arts? Be sure to check out the video-based summer camps offered at the Virtual Campus that are 2- to 4-weeks in duration. There are middle and high school competition math camps as well as Math Beasts camps that review key topics coupled with fun explorations covering areas such as graph theory (Math Beasts Camp 6), cryptography (Math Beasts Camp 7-8), and topology (Math Beasts Camp 8-9)!

Be sure to mark your calendars for the following events:
[list][*]April 3rd (Webinar), 4pm PT/7:00pm ET, Learning with AoPS: Perspectives from a Parent, Math Camp Instructor, and University Professor
[*]April 8th (Math Jam), 4:30pm PT/7:30pm ET, 2025 MATHCOUNTS State Discussion
April 9th (Webinar), 4:00pm PT/7:00pm ET, Learn about Video-based Summer Camps at the Virtual Campus
[*]April 10th (Math Jam), 4:30pm PT/7:30pm ET, 2025 MathILy and MathILy-Er Math Jam: Multibackwards Numbers
[*]April 22nd (Webinar), 4:00pm PT/7:00pm ET, Competitive Programming at AoPS (USACO).[/list]
Our full course list for upcoming classes is below:
All classes run 7:30pm-8:45pm ET/4:30pm - 5:45pm PT unless otherwise noted.

Introductory: Grades 5-10

Prealgebra 1 Self-Paced

Prealgebra 1
Sunday, Apr 13 - Aug 10
Tuesday, May 13 - Aug 26
Thursday, May 29 - Sep 11
Sunday, Jun 15 - Oct 12
Monday, Jun 30 - Oct 20
Wednesday, Jul 16 - Oct 29

Prealgebra 2 Self-Paced

Prealgebra 2
Sunday, Apr 13 - Aug 10
Wednesday, May 7 - Aug 20
Monday, Jun 2 - Sep 22
Sunday, Jun 29 - Oct 26
Friday, Jul 25 - Nov 21

Introduction to Algebra A Self-Paced

Introduction to Algebra A
Monday, Apr 7 - Jul 28
Sunday, May 11 - Sep 14 (1:00 - 2:30 pm ET/10:00 - 11:30 am PT)
Wednesday, May 14 - Aug 27
Friday, May 30 - Sep 26
Monday, Jun 2 - Sep 22
Sunday, Jun 15 - Oct 12
Thursday, Jun 26 - Oct 9
Tuesday, Jul 15 - Oct 28

Introduction to Counting & Probability Self-Paced

Introduction to Counting & Probability
Wednesday, Apr 16 - Jul 2
Thursday, May 15 - Jul 31
Sunday, Jun 1 - Aug 24
Thursday, Jun 12 - Aug 28
Wednesday, Jul 9 - Sep 24
Sunday, Jul 27 - Oct 19

Introduction to Number Theory
Thursday, Apr 17 - Jul 3
Friday, May 9 - Aug 1
Wednesday, May 21 - Aug 6
Monday, Jun 9 - Aug 25
Sunday, Jun 15 - Sep 14
Tuesday, Jul 15 - Sep 30

Introduction to Algebra B Self-Paced

Introduction to Algebra B
Wednesday, Apr 16 - Jul 30
Tuesday, May 6 - Aug 19
Wednesday, Jun 4 - Sep 17
Sunday, Jun 22 - Oct 19
Friday, Jul 18 - Nov 14

Introduction to Geometry
Wednesday, Apr 23 - Oct 1
Sunday, May 11 - Nov 9
Tuesday, May 20 - Oct 28
Monday, Jun 16 - Dec 8
Friday, Jun 20 - Jan 9
Sunday, Jun 29 - Jan 11
Monday, Jul 14 - Jan 19

Intermediate: Grades 8-12

Intermediate Algebra
Monday, Apr 21 - Oct 13
Sunday, Jun 1 - Nov 23
Tuesday, Jun 10 - Nov 18
Wednesday, Jun 25 - Dec 10
Sunday, Jul 13 - Jan 18
Thursday, Jul 24 - Jan 22

Intermediate Counting & Probability
Wednesday, May 21 - Sep 17
Sunday, Jun 22 - Nov 2

Intermediate Number Theory
Friday, Apr 11 - Jun 27
Sunday, Jun 1 - Aug 24
Wednesday, Jun 18 - Sep 3

Precalculus
Wednesday, Apr 9 - Sep 3
Friday, May 16 - Oct 24
Sunday, Jun 1 - Nov 9
Monday, Jun 30 - Dec 8

Advanced: Grades 9-12

Olympiad Geometry
Tuesday, Jun 10 - Aug 26

Calculus
Tuesday, May 27 - Nov 11
Wednesday, Jun 25 - Dec 17

Group Theory
Thursday, Jun 12 - Sep 11

Contest Preparation: Grades 6-12

MATHCOUNTS/AMC 8 Basics
Wednesday, Apr 16 - Jul 2
Friday, May 23 - Aug 15
Monday, Jun 2 - Aug 18
Thursday, Jun 12 - Aug 28
Sunday, Jun 22 - Sep 21
Tues & Thurs, Jul 8 - Aug 14 (meets twice a week!)

MATHCOUNTS/AMC 8 Advanced
Friday, Apr 11 - Jun 27
Sunday, May 11 - Aug 10
Tuesday, May 27 - Aug 12
Wednesday, Jun 11 - Aug 27
Sunday, Jun 22 - Sep 21
Tues & Thurs, Jul 8 - Aug 14 (meets twice a week!)

AMC 10 Problem Series
Friday, May 9 - Aug 1
Sunday, Jun 1 - Aug 24
Thursday, Jun 12 - Aug 28
Tuesday, Jun 17 - Sep 2
Sunday, Jun 22 - Sep 21 (1:00 - 2:30 pm ET/10:00 - 11:30 am PT)
Monday, Jun 23 - Sep 15
Tues & Thurs, Jul 8 - Aug 14 (meets twice a week!)

AMC 10 Final Fives
Sunday, May 11 - Jun 8
Tuesday, May 27 - Jun 17
Monday, Jun 30 - Jul 21

AMC 12 Problem Series
Tuesday, May 27 - Aug 12
Thursday, Jun 12 - Aug 28
Sunday, Jun 22 - Sep 21
Wednesday, Aug 6 - Oct 22

AMC 12 Final Fives
Sunday, May 18 - Jun 15

F=ma Problem Series
Wednesday, Jun 11 - Aug 27

WOOT Programs
Visit the pages linked for full schedule details for each of these programs!


MathWOOT Level 1
MathWOOT Level 2
ChemWOOT
CodeWOOT
PhysicsWOOT

Programming

Introduction to Programming with Python
Thursday, May 22 - Aug 7
Sunday, Jun 15 - Sep 14 (1:00 - 2:30 pm ET/10:00 - 11:30 am PT)
Tuesday, Jun 17 - Sep 2
Monday, Jun 30 - Sep 22

Intermediate Programming with Python
Sunday, Jun 1 - Aug 24
Monday, Jun 30 - Sep 22

USACO Bronze Problem Series
Tuesday, May 13 - Jul 29
Sunday, Jun 22 - Sep 1

Physics

Introduction to Physics
Wednesday, May 21 - Aug 6
Sunday, Jun 15 - Sep 14
Monday, Jun 23 - Sep 15

Physics 1: Mechanics
Thursday, May 22 - Oct 30
Monday, Jun 23 - Dec 15

Relativity
Sat & Sun, Apr 26 - Apr 27 (4:00 - 7:00 pm ET/1:00 - 4:00pm PT)
Mon, Tue, Wed & Thurs, Jun 23 - Jun 26 (meets every day of the week!)
0 replies
jlacosta
Apr 2, 2025
0 replies
Right angles
USJL   10
N a minute ago by bin_sherlo
Source: 2018 Taiwan TST Round 3
Let $I$ be the incenter of triangle $ABC$, and $\ell$ be the perpendicular bisector of $AI$. Suppose that $P$ is on the circumcircle of triangle $ABC$, and line $AP$ and $\ell$ intersect at point $Q$. Point $R$ is on $\ell$ such that $\angle IPR = 90^{\circ}$.Suppose that line $IQ$ and the midsegment of $ABC$ that is parallel to $BC$ intersect at $M$. Show that $\angle AMR = 90^{\circ}$

(Note: In a triangle, a line connecting two midpoints is called a midsegment.)
10 replies
USJL
Apr 2, 2020
bin_sherlo
a minute ago
sequence positive
malinger   35
N 19 minutes ago by Bonime
Source: ISL 2006, A2, VAIMO 2007, P4, Poland 2007
The sequence of real numbers $a_0,a_1,a_2,\ldots$ is defined recursively by \[a_0=-1,\qquad\sum_{k=0}^n\dfrac{a_{n-k}}{k+1}=0\quad\text{for}\quad n\geq 1.\]Show that $ a_{n} > 0$ for all $ n\geq 1$.

Proposed by Mariusz Skalba, Poland
35 replies
malinger
Apr 22, 2007
Bonime
19 minutes ago
Inequality with a,b,c
GeoMorocco   0
36 minutes ago
Source: Morocco Training
Let $a,b,c$ be positive real numbers. Prove that:
$$\sqrt[3]{a^3+b^3}+\sqrt[3]{b^3+c^3}+\sqrt[3]{c^3+a^3}\geq \sqrt[3]{2}(a+b+c)$$
0 replies
GeoMorocco
36 minutes ago
0 replies
Abusing surjectivity
Sadigly   7
N an hour ago by Sadigly
Find all functions $f:\mathbb{Q}\rightarrow\mathbb{Q}$ and $g:\mathbb{Q}\rightarrow\mathbb{Q}$ such that

$$f(f(x)+yg(x))=(x+1)g(y)+f(y)$$
for any $x;y\in\mathbb{Q}$
7 replies
Sadigly
3 hours ago
Sadigly
an hour ago
No more topics!
The Tetrahedral Space Partition
jannatiar   7
N Apr 3, 2025 by sami1618
Source: 2025 AlborzMO Day 2 P3
Is it possible to partition three-dimensional space into tetrahedra (not necessarily regular) such that there exists a plane that intersects the edges of each tetrahedron at exactly 4 or 0 points?

Proposed by Arvin Taheri
7 replies
jannatiar
Mar 9, 2025
sami1618
Apr 3, 2025
The Tetrahedral Space Partition
G H J
Source: 2025 AlborzMO Day 2 P3
The post below has been deleted. Click to close.
This post has been deleted. Click here to see post.
jannatiar
21 posts
#1 • 2 Y
Y by sami1618, cubres
Is it possible to partition three-dimensional space into tetrahedra (not necessarily regular) such that there exists a plane that intersects the edges of each tetrahedron at exactly 4 or 0 points?

Proposed by Arvin Taheri
Z K Y
The post below has been deleted. Click to close.
This post has been deleted. Click here to see post.
alinazarboland
168 posts
#3 • 2 Y
Y by sami1618, cubres
Hint
Z K Y
The post below has been deleted. Click to close.
This post has been deleted. Click here to see post.
sami1618
886 posts
#4 • 1 Y
Y by cubres
does the partition need to be locally finite?
Z K Y
The post below has been deleted. Click to close.
This post has been deleted. Click here to see post.
jannatiar
21 posts
#5 • 2 Y
Y by sami1618, cubres
sami1618 wrote:
does the partition need to be locally finite?
NO
Z K Y
The post below has been deleted. Click to close.
This post has been deleted. Click here to see post.
sami1618
886 posts
#6 • 2 Y
Y by Sedro, cubres
Consider cartesian axes and specifically the $xy$-plane and a tiling of this plane with white and red unit squares in a checkerboard pattern (ensure the vertices of the squares are at lattice points). For each square, draw a regular tetrahedron with the property that each vertex of the square coincides with the midpoint of one of the edges of the tetrahedron. Notice for every square there are exactly two distinct possible ways the tetrahedron could be drawn. On the white squares ensure that the upper edge of the tetrahedron is parallel to the $x$-axis and for the red squares ensure that the upper edge of the tetrahedron is parallel to the $y$-axis.

Shown below are the tetrahedrons corresponding to four adjacent squares. By $180^{\circ}$ rotation about the $x$ or $y$ axis it is clear that the tetrahedrons fit together seamlessly and their vertices coincide with the midpoints of the edges of adjacent tetrahedron.
[asy]
size(200);
import three;
currentprojection = perspective(3,5,7);
draw(surface((-4,-4,0)--(4,-4,0)--(4,4,0)--(-4,4,0)--cycle), gray+opacity(0.2));
draw((-4,0,0)--(4,0,0), black);  // x-axis
draw((0,-4,0)--(0,4,0), black);  // y-axis
triple[] tetra1 = {(1,-1,1), (1,3,1), (-1,1,-1), (3,1,-1)};
triple[] tetra2 = {(-1,-3,1), (-1,1,1), (-3,-1,-1), (1,-1,-1)};
triple[] tetra3 = {(-3,1,1), (1,1,1), (-1,-1,-1), (-1,3,-1)};
triple[] tetra4 = {(-1,-1,1), (3,-1,1), (1,-3,-1), (1,1,-1)};
void drawTetra(triple[] T, pen color) {
    draw(surface(T[0]--T[1]--T[2]--cycle), color+opacity(0.4));
    draw(surface(T[0]--T[1]--T[3]--cycle), color+opacity(0.4));
    draw(T[0]--T[2]--T[1]--T[3]--cycle, black+linewidth(0.8));
    draw(T[0]--T[1], black+linewidth(0.8));}
drawTetra(tetra2, red);
drawTetra(tetra4, grey);
drawTetra(tetra1, red);
drawTetra(tetra3, grey);
draw(surface((-1,-1,1)--(-1,1,1)--(0,0,0)--cycle), red+opacity(0.4));
draw(surface((-1,-1,1)--(-1,1,1)--(-2,0,0)--cycle), red+opacity(0.4));
draw((-1,-1,1)--(-1,1,1), linewidth(0.8));
draw((2,2,0)--(2,-2,0)--(-2,-2,0)--(-2,2,0)--cycle);
draw((2,0,0)--(-2,0,0));
draw((0,2,0)--(0,-2,0));
draw((0,0,0)--(-1,1,1), linewidth(0.8));
draw((0,0,0)--(-1,-1,1), linewidth(0.8));
draw((-2,0,0)--(-1,1,1), linewidth(0.8));
draw((0,0,-4)--(0,0,4), black, Arrow3);
label("$z$", (0,0,4.5), N);
label("$x$", (4.5,0,0), E);
label("$y$", (0,4.5,0), N);
[/asy]
Now that this has been done to the $xy$-plane do this for all planes $z=k$ where $k$ is a non-zero integer (we are "stacking" the sheets of tetrahedron). It is not hard to see that after drawing such tetrahedron, we are left with a collection of octahedron in space. We now go through a separate procedure for partitioning each of these octahedron into tetrahedron.

If the octahedron does not touch the $xy$-plane we can simply divide it into four tetrahedron. Otherwise let the octahedron touch the $xy$-plane at $P$. Call the octahedron $\mathcal{O}$. Then let $\mathcal{O}_1$ be the result of $\mathcal{O}$ after applying the homothety centered at $P$ with factor $1/2$. Then $\mathcal{O}-\mathcal{O}_1$ can be tiled with a finite number of tetrahedron (specifically $14$). Then repeat this process with $\mathcal{O}_1$ and so on.

It can be shown that these tetrahedron do indeed form a partition of space. Since the $xy$-plane intersects each of the original tetrahedron at exactly $4$ points and non of the tetrahedron formed by portioning the octahedron touch the $xy$-plane, we are finished.
This post has been edited 3 times. Last edited by sami1618, Apr 3, 2025, 2:00 PM
Z K Y
The post below has been deleted. Click to close.
This post has been deleted. Click here to see post.
jannatiar
21 posts
#7 • 3 Y
Y by MS_asdfgzxcvb, sami1618, cubres
The answer is yes.

Lemma 1:A cube can be partitioned into a finite number of tetrahedra.

Proof: As shown in the figure below, a cube can be divided into six tetrahedra.

https://i.imgur.com/MB0Hzn3.png

First, consider a plane in three-dimensional space. Then, imagine two lines parallel to the plane, one on each side, arranged in such a way that the two lines are skew (non-parallel and non-intersecting) and perpendicular to each other. Next, consider infinitely many points on each of these two lines (as shown in the figure below).

https://i.imgur.com/lkdUw2G.png

Now, consider two consecutive points on one of the lines (for example, points A and B) and all the tetrahedra formed by A, B, and every pair of consecutive points on the other line. Clearly, this defines an infinitely long strip covering the original plane (as shown in the figure below).

https://i.imgur.com/0iIcawj.png

Now, we repeat the same process for every pair of consecutive points on the first line, thereby completely covering the original plane. Finally, it suffices to fill the two half-spaces (above and below the plane). According to Lemma 1, this can be achieved using a collection of cubes. This partitioning yields the desired result stated in the problem.
This post has been edited 3 times. Last edited by jannatiar, Apr 1, 2025, 3:47 PM
Z K Y
The post below has been deleted. Click to close.
This post has been deleted. Click here to see post.
jannatiar
21 posts
#8 • 1 Y
Y by cubres
sami1618 wrote:
incorrect solution

Where was this solution wrong?
Z K Y
The post below has been deleted. Click to close.
This post has been deleted. Click here to see post.
sami1618
886 posts
#9 • 1 Y
Y by jannatiar
jannatiar wrote:
sami1618 wrote:
incorrect solution

Where was this solution wrong?

The part that went wrong was tiling the octahedron. For a set of polyhedron to partition space it must be that their union cover space and their interiors are non intersecting. My solution fell short of the first condition. This similar problem explains why. Consider an equilateral triangle. Divide it into four congruent equilateral triangles and add all but the central triangle to the partition. Repeat this process indefinitely with the remaining equilateral triangle. Then this is not a partition because the center of the equilateral triangle does not lie in the interior or on the boundary of any of the triangles in the partition.
[asy]
import geometry;
size(2cm);
pair A=dir(90); pair B=dir(210); pair C=dir(330);
pair A1=.5(C+B); pair B1=.5(A+C); pair C1=.5(A+B);
pair A2=.5(B1+C1); pair B2=.5(A1+C1); pair C2=.5(A1+B1);
pair A3=.5(B2+C2); pair B3=.5(A2+C2); pair C3=.5(A2+B2);
pair A4=.5(B3+C3); pair B4=.5(A3+C3); pair C4=.5(A3+B3);
filldraw(A--B1--C1--cycle, red+opacity(.5));
filldraw(B--A1--C1--cycle, red+opacity(.5));
filldraw(C--B1--A1--cycle, red+opacity(.5));
filldraw(A1--B2--C2--cycle, red+opacity(.5));
filldraw(B1--A2--C2--cycle, red+opacity(.5));
filldraw(C1--B2--A2--cycle, red+opacity(.5));
filldraw(A2--B3--C3--cycle, red+opacity(.5));
filldraw(B2--A3--C3--cycle, red+opacity(.5));
filldraw(C2--B3--A3--cycle, red+opacity(.5));
filldraw(A3--B4--C4--cycle, red+opacity(.5));
filldraw(B3--A4--C4--cycle, red+opacity(.5));
filldraw(C3--B4--A4--cycle, red+opacity(.5));
dot((0,0));
[/asy]
But this can be fixed if we ensure that the "limit points" lies on the boundary of the region we want to partition. I went back and fixed my original solution.
Z K Y
N Quick Reply
G
H
=
a