/-
Copyright 2026 The Formal Conjectures Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-/
import FormalConjecturesUtilSmallest $m$ such that $n^3 + m^3 + 1$ is prime
$a(n)$ is the smallest natural number $m \ge 1$ such that $n^3 + m^3 + 1$ is prime.
References:
namespace OeisA159829open Classical in
$a(n)$ is the smallest natural number $m \ge 1$ such that $n^3 + m^3 + 1$ is prime,
or none if no such $m$ exists.
noncomputable def a (n : ℕ) : Option ℕ :=
if ∃ m : ℕ, 1 ≤ m ∧ (n ^ 3 + m ^ 3 + 1).Prime then
some (sInf {m : ℕ | 1 ≤ m ∧ (n ^ 3 + m ^ 3 + 1).Prime})
else
none
Value of the sequence a at 1.
All goals completed! 🐙
Value of the sequence a at 2.
@[category test, AMS 11]
theorem a_2 : a 2 = some 2 := by ⊢ a 2 = some 2
have h : IsLeast {m : ℕ | 1 ≤ m ∧ (2 ^ 3 + m ^ 3 + 1).Prime} 2 :=
⟨⟨by ⊢ 1 ≤ 2 h:IsLeast {m | 1 ≤ m ∧ Nat.Prime (2 ^ 3 + m ^ 3 + 1)} 2⊢ a 2 = some 2 decide All goals completed! 🐙 h:IsLeast {m | 1 ≤ m ∧ Nat.Prime (2 ^ 3 + m ^ 3 + 1)} 2⊢ a 2 = some 2, by ⊢ Nat.Prime (2 ^ 3 + 2 ^ 3 + 1) h:IsLeast {m | 1 ≤ m ∧ Nat.Prime (2 ^ 3 + m ^ 3 + 1)} 2⊢ a 2 = some 2 decide All goals completed! 🐙 h:IsLeast {m | 1 ≤ m ∧ Nat.Prime (2 ^ 3 + m ^ 3 + 1)} 2⊢ a 2 = some 2⟩, fun m hm => by m:ℕhm:m ∈ {m | 1 ≤ m ∧ Nat.Prime (2 ^ 3 + m ^ 3 + 1)}⊢ 2 ≤ m h:IsLeast {m | 1 ≤ m ∧ Nat.Prime (2 ^ 3 + m ^ 3 + 1)} 2⊢ a 2 = some 2
by_contra hc m:ℕhm:m ∈ {m | 1 ≤ m ∧ Nat.Prime (2 ^ 3 + m ^ 3 + 1)}hc:¬2 ≤ m⊢ False h:IsLeast {m | 1 ≤ m ∧ Nat.Prime (2 ^ 3 + m ^ 3 + 1)} 2⊢ a 2 = some 2
have hm1 : 1 ≤ m := hm.1 m:ℕhm:m ∈ {m | 1 ≤ m ∧ Nat.Prime (2 ^ 3 + m ^ 3 + 1)}hc:¬2 ≤ mhm1:1 ≤ m⊢ False h:IsLeast {m | 1 ≤ m ∧ Nat.Prime (2 ^ 3 + m ^ 3 + 1)} 2⊢ a 2 = some 2
have hm2 : m < 2 := not_le.mp hc m:ℕhm:m ∈ {m | 1 ≤ m ∧ Nat.Prime (2 ^ 3 + m ^ 3 + 1)}hc:¬2 ≤ mhm1:1 ≤ mhm2:m < 2⊢ False h:IsLeast {m | 1 ≤ m ∧ Nat.Prime (2 ^ 3 + m ^ 3 + 1)} 2⊢ a 2 = some 2
obtain ⟨_, hprime⟩ := hm m:ℕhc:¬2 ≤ mhm1:1 ≤ mhm2:m < 2left✝:1 ≤ mhprime:Nat.Prime (2 ^ 3 + m ^ 3 + 1)⊢ False h:IsLeast {m | 1 ≤ m ∧ Nat.Prime (2 ^ 3 + m ^ 3 + 1)} 2⊢ a 2 = some 2
interval_cases m «1» m:ℕhc:¬2 ≤ 1hm1:1 ≤ 1hm2:1 < 2left✝:1 ≤ 1hprime:Nat.Prime (2 ^ 3 + 1 ^ 3 + 1)⊢ False h:IsLeast {m | 1 ≤ m ∧ Nat.Prime (2 ^ 3 + m ^ 3 + 1)} 2⊢ a 2 = some 2
revert hprime «1» m:ℕhc:¬2 ≤ 1hm1:1 ≤ 1hm2:1 < 2left✝:1 ≤ 1⊢ Nat.Prime (2 ^ 3 + 1 ^ 3 + 1) → False h:IsLeast {m | 1 ≤ m ∧ Nat.Prime (2 ^ 3 + m ^ 3 + 1)} 2⊢ a 2 = some 2
decide All goals completed! 🐙 h:IsLeast {m | 1 ≤ m ∧ Nat.Prime (2 ^ 3 + m ^ 3 + 1)} 2⊢ a 2 = some 2⟩ h:IsLeast {m | 1 ≤ m ∧ Nat.Prime (2 ^ 3 + m ^ 3 + 1)} 2⊢ a 2 = some 2
have h_ex : ∃ m : ℕ, 1 ≤ m ∧ (2 ^ 3 + m ^ 3 + 1).Prime := ⟨2, h.1⟩ h:IsLeast {m | 1 ≤ m ∧ Nat.Prime (2 ^ 3 + m ^ 3 + 1)} 2h_ex:∃ m, 1 ≤ m ∧ Nat.Prime (2 ^ 3 + m ^ 3 + 1)⊢ a 2 = some 2
rw [a, h:IsLeast {m | 1 ≤ m ∧ Nat.Prime (2 ^ 3 + m ^ 3 + 1)} 2h_ex:∃ m, 1 ≤ m ∧ Nat.Prime (2 ^ 3 + m ^ 3 + 1)⊢ (if ∃ m, 1 ≤ m ∧ Nat.Prime (2 ^ 3 + m ^ 3 + 1) then some (sInf {m | 1 ≤ m ∧ Nat.Prime (2 ^ 3 + m ^ 3 + 1)}) else none) =
some 2 All goals completed! 🐙 if_pos h_ex, h:IsLeast {m | 1 ≤ m ∧ Nat.Prime (2 ^ 3 + m ^ 3 + 1)} 2h_ex:∃ m, 1 ≤ m ∧ Nat.Prime (2 ^ 3 + m ^ 3 + 1)⊢ some (sInf {m | 1 ≤ m ∧ Nat.Prime (2 ^ 3 + m ^ 3 + 1)}) = some 2 All goals completed! 🐙 h.csInf_eq h:IsLeast {m | 1 ≤ m ∧ Nat.Prime (2 ^ 3 + m ^ 3 + 1)} 2h_ex:∃ m, 1 ≤ m ∧ Nat.Prime (2 ^ 3 + m ^ 3 + 1)⊢ some 2 = some 2 All goals completed! 🐙] All goals completed! 🐙
Value of the sequence a at 3.
@[category test, AMS 11]
theorem a_3 : a 3 = some 1 := by ⊢ a 3 = some 1
have h : IsLeast {m : ℕ | 1 ≤ m ∧ (3 ^ 3 + m ^ 3 + 1).Prime} 1 :=
⟨⟨le_rfl, by ⊢ Nat.Prime (3 ^ 3 + 1 ^ 3 + 1) h:IsLeast {m | 1 ≤ m ∧ Nat.Prime (3 ^ 3 + m ^ 3 + 1)} 1⊢ a 3 = some 1 decide All goals completed! 🐙 h:IsLeast {m | 1 ≤ m ∧ Nat.Prime (3 ^ 3 + m ^ 3 + 1)} 1⊢ a 3 = some 1⟩, fun m hm => hm.1⟩ h:IsLeast {m | 1 ≤ m ∧ Nat.Prime (3 ^ 3 + m ^ 3 + 1)} 1⊢ a 3 = some 1
have h_ex : ∃ m : ℕ, 1 ≤ m ∧ (3 ^ 3 + m ^ 3 + 1).Prime := ⟨1, h.1⟩ h:IsLeast {m | 1 ≤ m ∧ Nat.Prime (3 ^ 3 + m ^ 3 + 1)} 1h_ex:∃ m, 1 ≤ m ∧ Nat.Prime (3 ^ 3 + m ^ 3 + 1)⊢ a 3 = some 1
rw [a, h:IsLeast {m | 1 ≤ m ∧ Nat.Prime (3 ^ 3 + m ^ 3 + 1)} 1h_ex:∃ m, 1 ≤ m ∧ Nat.Prime (3 ^ 3 + m ^ 3 + 1)⊢ (if ∃ m, 1 ≤ m ∧ Nat.Prime (3 ^ 3 + m ^ 3 + 1) then some (sInf {m | 1 ≤ m ∧ Nat.Prime (3 ^ 3 + m ^ 3 + 1)}) else none) =
some 1 All goals completed! 🐙 if_pos h_ex, h:IsLeast {m | 1 ≤ m ∧ Nat.Prime (3 ^ 3 + m ^ 3 + 1)} 1h_ex:∃ m, 1 ≤ m ∧ Nat.Prime (3 ^ 3 + m ^ 3 + 1)⊢ some (sInf {m | 1 ≤ m ∧ Nat.Prime (3 ^ 3 + m ^ 3 + 1)}) = some 1 All goals completed! 🐙 h.csInf_eq h:IsLeast {m | 1 ≤ m ∧ Nat.Prime (3 ^ 3 + m ^ 3 + 1)} 1h_ex:∃ m, 1 ≤ m ∧ Nat.Prime (3 ^ 3 + m ^ 3 + 1)⊢ some 1 = some 1 All goals completed! 🐙] All goals completed! 🐙
Value of the sequence a at 4.
@[category test, AMS 11]
theorem a_4 : a 4 = some 2 := by ⊢ a 4 = some 2
have h : IsLeast {m : ℕ | 1 ≤ m ∧ (4 ^ 3 + m ^ 3 + 1).Prime} 2 :=
⟨⟨by ⊢ 1 ≤ 2 h:IsLeast {m | 1 ≤ m ∧ Nat.Prime (4 ^ 3 + m ^ 3 + 1)} 2⊢ a 4 = some 2 decide All goals completed! 🐙 h:IsLeast {m | 1 ≤ m ∧ Nat.Prime (4 ^ 3 + m ^ 3 + 1)} 2⊢ a 4 = some 2, by ⊢ Nat.Prime (4 ^ 3 + 2 ^ 3 + 1) h:IsLeast {m | 1 ≤ m ∧ Nat.Prime (4 ^ 3 + m ^ 3 + 1)} 2⊢ a 4 = some 2 decide All goals completed! 🐙 h:IsLeast {m | 1 ≤ m ∧ Nat.Prime (4 ^ 3 + m ^ 3 + 1)} 2⊢ a 4 = some 2⟩, fun m hm => by m:ℕhm:m ∈ {m | 1 ≤ m ∧ Nat.Prime (4 ^ 3 + m ^ 3 + 1)}⊢ 2 ≤ m h:IsLeast {m | 1 ≤ m ∧ Nat.Prime (4 ^ 3 + m ^ 3 + 1)} 2⊢ a 4 = some 2
by_contra hc m:ℕhm:m ∈ {m | 1 ≤ m ∧ Nat.Prime (4 ^ 3 + m ^ 3 + 1)}hc:¬2 ≤ m⊢ False h:IsLeast {m | 1 ≤ m ∧ Nat.Prime (4 ^ 3 + m ^ 3 + 1)} 2⊢ a 4 = some 2
have hm1 : 1 ≤ m := hm.1 m:ℕhm:m ∈ {m | 1 ≤ m ∧ Nat.Prime (4 ^ 3 + m ^ 3 + 1)}hc:¬2 ≤ mhm1:1 ≤ m⊢ False h:IsLeast {m | 1 ≤ m ∧ Nat.Prime (4 ^ 3 + m ^ 3 + 1)} 2⊢ a 4 = some 2
have hm2 : m < 2 := not_le.mp hc m:ℕhm:m ∈ {m | 1 ≤ m ∧ Nat.Prime (4 ^ 3 + m ^ 3 + 1)}hc:¬2 ≤ mhm1:1 ≤ mhm2:m < 2⊢ False h:IsLeast {m | 1 ≤ m ∧ Nat.Prime (4 ^ 3 + m ^ 3 + 1)} 2⊢ a 4 = some 2
obtain ⟨_, hprime⟩ := hm m:ℕhc:¬2 ≤ mhm1:1 ≤ mhm2:m < 2left✝:1 ≤ mhprime:Nat.Prime (4 ^ 3 + m ^ 3 + 1)⊢ False h:IsLeast {m | 1 ≤ m ∧ Nat.Prime (4 ^ 3 + m ^ 3 + 1)} 2⊢ a 4 = some 2
interval_cases m «1» m:ℕhc:¬2 ≤ 1hm1:1 ≤ 1hm2:1 < 2left✝:1 ≤ 1hprime:Nat.Prime (4 ^ 3 + 1 ^ 3 + 1)⊢ False h:IsLeast {m | 1 ≤ m ∧ Nat.Prime (4 ^ 3 + m ^ 3 + 1)} 2⊢ a 4 = some 2
revert hprime «1» m:ℕhc:¬2 ≤ 1hm1:1 ≤ 1hm2:1 < 2left✝:1 ≤ 1⊢ Nat.Prime (4 ^ 3 + 1 ^ 3 + 1) → False h:IsLeast {m | 1 ≤ m ∧ Nat.Prime (4 ^ 3 + m ^ 3 + 1)} 2⊢ a 4 = some 2
decide All goals completed! 🐙 h:IsLeast {m | 1 ≤ m ∧ Nat.Prime (4 ^ 3 + m ^ 3 + 1)} 2⊢ a 4 = some 2⟩ h:IsLeast {m | 1 ≤ m ∧ Nat.Prime (4 ^ 3 + m ^ 3 + 1)} 2⊢ a 4 = some 2
have h_ex : ∃ m : ℕ, 1 ≤ m ∧ (4 ^ 3 + m ^ 3 + 1).Prime := ⟨2, h.1⟩ h:IsLeast {m | 1 ≤ m ∧ Nat.Prime (4 ^ 3 + m ^ 3 + 1)} 2h_ex:∃ m, 1 ≤ m ∧ Nat.Prime (4 ^ 3 + m ^ 3 + 1)⊢ a 4 = some 2
rw [a, h:IsLeast {m | 1 ≤ m ∧ Nat.Prime (4 ^ 3 + m ^ 3 + 1)} 2h_ex:∃ m, 1 ≤ m ∧ Nat.Prime (4 ^ 3 + m ^ 3 + 1)⊢ (if ∃ m, 1 ≤ m ∧ Nat.Prime (4 ^ 3 + m ^ 3 + 1) then some (sInf {m | 1 ≤ m ∧ Nat.Prime (4 ^ 3 + m ^ 3 + 1)}) else none) =
some 2 All goals completed! 🐙 if_pos h_ex, h:IsLeast {m | 1 ≤ m ∧ Nat.Prime (4 ^ 3 + m ^ 3 + 1)} 2h_ex:∃ m, 1 ≤ m ∧ Nat.Prime (4 ^ 3 + m ^ 3 + 1)⊢ some (sInf {m | 1 ≤ m ∧ Nat.Prime (4 ^ 3 + m ^ 3 + 1)}) = some 2 All goals completed! 🐙 h.csInf_eq h:IsLeast {m | 1 ≤ m ∧ Nat.Prime (4 ^ 3 + m ^ 3 + 1)} 2h_ex:∃ m, 1 ≤ m ∧ Nat.Prime (4 ^ 3 + m ^ 3 + 1)⊢ some 2 = some 2 All goals completed! 🐙] All goals completed! 🐙Conjecture 1: For any $k \ge 3$, there are infinitely many primes of the form $n^k + m^k$ for $n, m \ge 1$.
Ulrich Krug, 2009
Answer: No.
Kenta Kitamura, 2026
@[category research solved, AMS 11,
formal_proof using lean4 at
"https://github.com/KitaKen1/oeis-a159829-conjecture1-counterexample/blob/6632e626baa7f28ad14045aa7408a84178ec128d/lean/A159829Conjecture1FC.lean#L52-L61"]
theorem conjecture1 :
answer(False) ↔ ∀ (k : ℕ), 3 ≤ k →
Set.Infinite {p : ℕ | ∃ n m : ℕ, 1 ≤ n ∧ 1 ≤ m ∧ p.Prime ∧
p = n ^ k + m ^ k} := by ⊢ False ↔ ∀ (k : ℕ), 3 ≤ k → {p | ∃ n m, 1 ≤ n ∧ 1 ≤ m ∧ Nat.Prime p ∧ p = n ^ k + m ^ k}.Infinite
sorry All goals completed! 🐙Conjecture 2: For any $k \ge 3$, there are infinitely many primes of the form $n^k + m^k + 1$ for $n, m \ge 1$.
Ulrich Krug, 2009
@[category research open, AMS 11]
theorem conjecture2 (k : ℕ) (hk : 3 ≤ k) :
Set.Infinite {p : ℕ | ∃ n m : ℕ, 1 ≤ n ∧ 1 ≤ m ∧ p.Prime ∧ p = n ^ k + m ^ k + 1} := by k:ℕhk:3 ≤ k⊢ {p | ∃ n m, 1 ≤ n ∧ 1 ≤ m ∧ Nat.Prime p ∧ p = n ^ k + m ^ k + 1}.Infinite
sorry All goals completed! 🐙end OeisA159829