
![]() |
Figure 1: screenshot from source showing that 25689 is not a de Polignac number |
![]() |
Figure 2: screenshot from source showing that 25691 is a de Polignac number |
Numbers Aplenty defines a de Polignac number as follows:
A de Polignac number is an odd numberThis definition is equivalent to there being no primethat cannot be expressed as , for prime.
Some interesting facts about de Polignac numbers include:
- There are many de Polignac consecutive odd numbers that differ by 2. The earliest ones are: 905 & 907. Others are 3341 & 3343; 3431 &3433; and so on. However, there are no de Polignac twin primes. Source.
- In the interval 5 to 50,000,000 there are about 21.8% (477445/2188591) of de Polignac numbers that are prime and this number slowly decreases. Thus composite de Polignac are more abundant than prime de Polignac. Source.
- Paul Erdös proved that there are an infinity of de Polignac numbers, for example all the numbers of the form 1260327937 + 2863311360⋅
. Source. - The smallest composite de Polignac number is 905, while the first square is 40401. Source.
- The smallest 3 × 3 magic square whose entries are de Polignac numbers is shown in Figure 3. Source.
-
is the earliest titanic Polignac prime number. The next are:
![]() |
Figure 3: magic square of de Polignac numbers |
is a de Polignac number for each n > 2 e.g. 251, 65531, 4294967291, ... Source.
Alphonse de Polignac (1826–1863) was a French mathematician. In 1849, the year he was admitted to Polytechnique, he made what's known as Polignac's conjecture:
For every positive integer, there are infinitely many prime gaps of size . The case is the twin prime conjecture.
His father, Jules de Polignac (1780-1847) was prime minister of Charles X until the Bourbon dynasty was overthrown (1830).Here a permalink to SageMathCell and below is the SageMath code that I developed to identify de Polignac numbers within a given range (in the example, between 25500 and 25600):
INPUT
upper=26000
power=ceil(log(upper, 2))
NP=[]
for p in prime_range(2, upper):
for k in [0..power]:
if (2^k+p)<upper:
NP.append(2^k+p)
N=[x for x in [1..upper]]
for x in (Set(N)-Set(NP)):
if x%2==1:
if x>25600 and x<26000:
print x,
OUTPUT
25627 25631 25691 25693 25723 25739 25747 25753 25777 25783 25799 25829 25841 25909 25925 25961 25979 25987 25993
No comments:
Post a Comment