Find A Counter-Example to This

  • Context: Graduate 
  • Thread starter Thread starter Atran
  • Start date Start date
Click For Summary
SUMMARY

The discussion centers on a mathematical conjecture involving the product of the first x odd prime numbers, denoted as p(x), and a variable i that must not be divisible by any of the primes in p(x). The conjecture states that for any positive integer i, the expression 1 < p(x) ± 2*i < (p(x+1)/p(x))^2 will always yield a prime number. The provided Python code demonstrates how to compute p(x) and check the primality of the resulting numbers, supporting the conjecture with examples.

PREREQUISITES
  • Understanding of prime numbers and their properties
  • Familiarity with Python programming, specifically functions and loops
  • Knowledge of mathematical inequalities and their implications
  • Basic understanding of algorithms for primality testing
NEXT STEPS
  • Implement and test the conjecture using Python with varying values of x and i
  • Explore advanced primality testing algorithms, such as the Miller-Rabin test
  • Research the properties of odd prime numbers and their distributions
  • Investigate related mathematical conjectures and proofs in number theory
USEFUL FOR

Mathematicians, computer scientists, and programming enthusiasts interested in number theory, particularly those exploring prime number conjectures and algorithms for primality testing.

Atran
Messages
93
Reaction score
1
Hi!

Say p(x) is the product of the first x odd prime numbers (e.g. p(4)=3*5*7*11) and i is at least one. Then consider:
1 < p(x) ± 2*i < (p(x+1)/p(x))2

My hypothesis is that the above formula, obeying the restrictions, always produces a prime number.
For example if x=3 and i=13, then p(3)-2*13=79. 79 is bigger than 1 and smaller than 112, therefore it's a prime number.

I'm not a python programmer, but this code yields prime numbers using the above formula:

Code:
from math import ceil

def is_prime(number):
    if(number < 2):
        return False
    i = 2
    while i <= ceil(number**0.5):
        if(number%i == 0):
            return False
        i = i + 1
    return True

def f(number_of_primes):
    flag = True
    prime_product = 1
    prime_array = []

    n, i = 3, 0
    while i < number_of_primes:
        if(is_prime(n) == True):
            prime_product = prime_product * n
            prime_array.append(n)
            i = i + 1
        n = n + 1
    
    while True:
        if(is_prime(n) == True):
            largest_prime = n
            break
        n = n + 1

    i = 1
    while True:
        for x in range(len(prime_array)):
            if(i%prime_array[x] == 0):
                flag = False
                break

        if flag == False:
            flag = True
            i = i + 1
            continue
        
        n = prime_product - 2*i
        if n <= 1:
            break
        if n < largest_prime**2:
            if is_prime(n) == False:
                print("NOT : ", n, " : ", i)
                break
            else:
                print("NMB : ", n, " : ", i)
        i = i + 1

def g(number_of_primes):
    flag = True
    prime_product = 1
    prime_array = []

    n, i = 3, 0
    while i < number_of_primes:
        if(is_prime(n) == True):
            prime_product = prime_product * n
            prime_array.append(n)
            i = i + 1
        n = n + 1
    
    while True:
        if(is_prime(n) == True):
            largest_prime = n
            break
        n = n + 1

    i = 1
    while True:
        for x in range(len(prime_array)):
            if(i%prime_array[x] == 0):
                flag = False
                break

        if flag == False:
            flag = True
            i = i + 1
            continue
        
        n = prime_product + 2*i
        if n < largest_prime**2:
            if is_prime(n) == False:
                print("NOT : ", n, " : ", i)
                break
            else:
                print("NMB : ", n, " : ", i)
        else:
            break
        i = i + 1

x = 4 # Enter a non-negative integer
f(x)
print("- - - - -")
g(x)
Scroll down and assign a non-negative integer to x in the code and run it. If the program detects a non-prime then it should output "NOT" followed by the generated number. If the generated number is a prime, then it outputs "NMB". The second number after the second colon is the value of i. So the above example would be displayed as: "NMB : 79 : 13" (excluding the double quotes)

Thanks for help.
 
Mathematics news on Phys.org
What is your question? to find a counter example? or to prove your conjecture?
 
I want somebody to prove this wrong, by finding a counter example.

And I'm really sorry, I forgot to mention that i must not be divisible by any of the primes found in the product p(x).

So again,
1 < p(x) ± 2*i < (p(x+1)/p(x))2
where p(x) is the product of the first x odd prime numbers, and i is a positive integer not divisible by any prime in the product p(x).


Example: p(4) - 2*514 = 127.
514 is positive and not divisible by 3, 5, 7, or 11. And 127 is less than 169, so according to the conjecture 127 should be a prime, and it is.
 
Your best strategy here would be to let the program find the counter example by finding a list of primes for input and then running it thru its paces. Also if you could find a related program that can check for primeness of a number you could incorporate it into the mix.
 
Atran said:
I want somebody to prove this wrong, by finding a counter example.

And I'm really sorry, I forgot to mention that i must not be divisible by any of the primes found in the product p(x).

So again,
1 < p(x) ± 2*i < (p(x+1)/p(x))2
where p(x) is the product of the first x odd prime numbers, and i is a positive integer not divisible by any prime in the product p(x).


Example: p(4) - 2*514 = 127.
514 is positive and not divisible by 3, 5, 7, or 11. And 127 is less than 169, so according to the conjecture 127 should be a prime, and it is.

It's a true conjecture. Here's a proof:

First, we note that since ##p(x)## is not divisible by ##2## and ##2i## is divisible by ##2##, then ##p(x) - 2i## is not divisible by ##2##.
Second, if ##p## is an odd prime occurring in the product of ##p(x)##, then ##p## divides ##p(x)## and ##p## does not divide ##2i##, thus ##p## does not divide ##p(x) - 2i##.

So we deduce that if ##p## is any prime dividing ##p(x)-2i##, then ##p## cannot occur in ##p(x)##. Thus ##p\geq p(x+1)/p(x)##.

So, assume that ##p(x) - 2i## is composite, then there are there are two prime numbers ##p## and ##q## that divide ##p(x) - 2i##. Thus we have ##pq\leq p(x)-2i##. But we also have that ##p\geq p(x+1)/p(x)## and ##q\geq p(x+1)/p(x)##. Thus ##pq\geq (p(x+1)/p(x))^2##. So we see that
(p(x+1)/p(x))^2\leq pq\leq p(x)-2i &lt; (p(x+1)/p(x))^2
which is a contradiction.
 
  • Like
Likes   Reactions: 1 person

Similar threads

  • · Replies 10 ·
Replies
10
Views
3K
  • · Replies 12 ·
Replies
12
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 80 ·
3
Replies
80
Views
10K
  • · Replies 5 ·
Replies
5
Views
2K
  • · Replies 11 ·
Replies
11
Views
2K
  • · Replies 13 ·
Replies
13
Views
2K
  • · Replies 28 ·
Replies
28
Views
4K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 1 ·
Replies
1
Views
1K