Вот найден первый претендент


---

3 часа работы.
Осталось как то доказать что это простое?
Программа Primo должна справиться. Она использует метод эллиптических кривых и вырабатывает сертификат простого числа. Сколько времени потребуется для проверки вашего числа

— затрудняюсь сказать. Последняя версия для Windows была 3.0.9, у меня она обрабатывала знакочередующуюся сумму факториалов

(7934 цифры) аж

час

минут

секунд. С увеличением числа затраты времени растут быстро. Работу программы можно прерывать и потом возобновлять.
Сейчас автор программы версию для Windows не поддерживает, есть
версия 4.3.3 для Linux Ubuntu 18.04/x86-64 architecture (о других версиях Линукса Marcel Martin пишет, что не знает, работает ли там его программа). Программа может работать с числами до

цифр и может использовать до

процессоров одновременно.
Вероятно, есть другие программы для проверки простоты, не вырабатывающие сертификат и потому работающие быстрее.
Есть программы, работающие с числами специальных видов. Например, программа
PrimeForm GW. Последняя версия на данный момент — pfgw_win_4.1.3. Пример числа из
указанного Вами диапазона
![$[10^{50000}/2,10^{50000}]$ $[10^{50000}/2,10^{50000}]$](https://dxdy-01.korotkov.co.uk/f/4/d/a/4da3f67fad32974727e7032902b2476982.png)
:
Код:
Primality testing (10^50000)/2+(10^16667)*28975-1 [N-1/N+1, Brillhart-Lehmer-Selfridge]
Running N-1 test using base 11
Running N+1 test using discriminant 17, base 1+sqrt(17)
Calling N+1 BLS with factored part 33.35% and helper 0.02% (100.08% proof)
(10^50000)/2+(10^16667)*28975-1 is prime! (165.1617s+0.0010s)
Сначала той же программой было выполнено просеивание чисел вида

из диапазона

(прервал на

, когда заметил, что один кандидат нашёлся). Сколько ушло времени, не заметил, кажется, дня три. Вот фрагмент лог-файла:
Код:
(10^50000)/2+(10^16667)*28974-1 has factors: 12917
(10^50000)/2+(10^16667)*28975-1 is 3-PRP! (23.0939s+9.0217s)
(10^50000)/2+(10^16667)*28976-1 has factors: 3^2
(10^50000)/2+(10^16667)*28977-1 has factors: 127
(10^50000)/2+(10^16667)*28978-1 has factors: 67
(10^50000)/2+(10^16667)*28979-1 has factors: 3
(10^50000)/2+(10^16667)*28980-1 has factors: 7
(10^50000)/2+(10^16667)*28981-1 has factors: 13
(10^50000)/2+(10^16667)*28982-1 has factors: 3
(10^50000)/2+(10^16667)*28983-1 has factors: 23
(10^50000)/2+(10^16667)*28984-1 has factors: 383
(10^50000)/2+(10^16667)*28985-1 has factors: 3^2
(10^50000)/2+(10^16667)*28986-1 has factors: 47
(10^50000)/2+(10^16667)*28987-1 has factors: 7
(10^50000)/2+(10^16667)*28988-1 has factors: 3
(10^50000)/2+(10^16667)*28989-1 is composite: RES64: [FC270A1E48E1DF7A] (23.8883s+9.2017s)
(10^50000)/2+(10^16667)*28990-1 has factors: 11
Прежде, чем браться за такое дело, полезно оценить ожидаемый объём работы.
Плотность простых чисел в районе большого числа

равна примерно

, поэтому можно ожидать, что придётся проверить порядка

кандидатов.
У нас числа имеют величину порядка

, и получаем

кандидатов. Однако можно заметить, что числа рассматриваемого вида заведомо не делятся ни на

, ни на

, поэтому полученный результат нужно умножить на

, и получится

кандидатов, так как из каждых

чисел заранее отсеиваются

, и вероятность получить простое число увеличивается в

раза. На самом деле может оказаться и меньше, и больше. Как повезёт.
Но Вы же хотите не просто большое простое число, а пару простых чисел, либо дающих заданную (чётную) сумму, либо симметричных относительно заданного числа. Впрочем, это одно и то же: два числа с заданной чётной суммой симметричны относительно половины этой суммы. Значит, Вам нужно, чтобы одновременно два числа оказались простыми. Вероятности для этих чисел надо перемножить.
Например, мы хотим получить сумму

. Тогда мы можем искать пары простых чисел вида

. Для того, чтобы ни одно из этих чисел не делилось на

, нужно, чтобы

при делении на

давало остаток

, поэтому можно положить

, где

, и сократить объём работы в

раза. (Такую работу можно проделать и для других простых делителей, но для

получится несколько выражений.)
Поэтому ожидаемое количество пар проверяемых кандидатов будет порядка

.
Если не стремиться к примерно равным слагаемым, а наоборот, одно слагаемое выбирать среди небольших чисел, то можно подбирать, например, пары чисел вида

. Тогда первое число будет простым с вероятностью примерно

(откуда берётся множитель

, объяснялось выше), а второе — с вероятностью примерно

. Слагаемым

можно пренебречь по сравнению с

, так как ожидаемое значение

вряд ли превосходит

.
Как и в первом варианте, можно проверить, что число

должно делиться на

, поэтому можно положить

, где

, и сократить объём работы в

раза.
В итоге ожидаемое количество проверяемых пар кандидатов будет порядка

.
Это меньше, чем в предыдущем примере, но всё равно много. Уменьшить показатель степени

нельзя. Используемые тесты предполагают следующие условия.
Пусть мы проверяем большое число

. Пусть

и

, причём, числа

и

полностью разложены на простые множители, а простые множители чисел

и

неизвестны. Тогда должно выполняться хотя бы одно из неравенств

или

(на самом деле условия чуть-чуть слабее, но совсем ненамного).
Заметим, что для наибольшего из двух чисел в рассмотренных примерах гарантированно факторизуемая часть числа

равна

и неравенство

выполняется, в то время как

. Может быть, удастся уменьшить показатель

до

или до

, используя дополнительные возможности программы, но я не проверял, а экономия объёма работы будет незначительной.
Зарядил программу на рекорд

Что за рекорд?

чётное число, которое является суммой двух простых? А какой текущий рекорд?
P.S. Очень много информации о простых числах и их поиске можно найти на сайте
Prime Pages