У меня за ночь 9ч посчиталось с ускорителем 400 кругов паттерна M48n21p3 (3-0-13-5) по 1e9 i (относительно lcm(v)=2.9576e43) в каждом, примерно до 1.183e55, наиболее длинные лишь 7шт valids=16.
Т.е. глубокий поиск по одному паттерну невыгоден. Что было и так ясно, но прямая проверка интереснее.

Есть подозрение, что тут имеем "аномалию", как с тройкой - более одного запрещенного остатка для какого-нибудь простого.
Это как-то можно проверить?
Так ведь эта проверка и есть длинный if для чисел до 59 и следующий цикл с T[],P[] для чисел до 523. И понятно что для чисел выше длины паттерна запрещённых остатков не может быть больше проверяемых мест (потому что на остальные места такие простые попадать могут).
Выходит это уже проверено и использовано. Соответственно вопрос непонятен.
Пока на малой статистике: количество проверок

и число, до куда надо считать (

) - больше в 5.3 - 5.4 раза, чем для 3p.
Спасибо! Получается даже с ускорителем считать 4-0-12-5 невыгодно.
Вот именно об этом я и писал недавно:
Да, я тоже это вспомнил с Ваших слов, но проверка в свете новых видений ускорения PARI кода не помешала.
Демис, на PARI программа уже есть, 3-й день подряд считаю.
Я считаю она нуждается в доработке:
1. Сделать границы перебора в терминах n, я показывал как. Только уточнить формулы, проверить надо ли учитывать ip и p1 или оно корректно съедается округлением (и лучше задать на пару shag больше чем что-то пропустить).
2. Сделать запись цепочек в файл лога (оставив самые длинные и на экран тоже), есть же команда write в комплект к print, ей и пользоваться. Тогда на экран можно показывать дополнительную информацию, например прогресс и тот же ETA (мегаполезно!).
3. Сделать сохранение решения в отдельный файл с "громким" именем, типа M48n21-FOUND!.txt.
4. Возможно сделать многопоточную версию, под gppthread64-2-17-2.exe (можно регулировать количество потоков), хотя у меня оно и медленнее нескольких gp64-2-17-2.exe, но может кому-то удобнее считать одной программой многопоточно пусть даже и медленнее возможного. Правда parforperm нету, но по потокам можно побить и по другому, например parforeach, либо все 9! перестановок сохранить в вектор и parfor по нему идти вместо parforperm. Стоит добавить и более корректную остановку всех потоков при обнаружении решения.
Для

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

:
Вероятность найти цепочку (для текущей схемы расчета), если считать все

шаблонов:
Тоже спасибо, наконец данные для оценки.
Остаются открытыми вопросы:
1. А существуют ли паттерны типов "4-0-13-4 (9)" и "5-0-13-3 (9)"?
2. А может быть, для четырех и пяти простых существуют ещё лучшие паттерны, с ещё большим количеством

?
Тоже пороюсь.
По-хорошему, надо бы:
1. Построить pcoul'ом полную систему паттернов.
Нереально: вывод паттернов с тремя и более проверяемыми местами у меня занял больше суток и под гиг текста. А паттернов 5-0 среди них лишь каждый 6000-й. Паттерны 4-0 каждый 66-й. Паттерны 3-0 каждый 15-й. Правда какие были ещё условия фильтрации не уверен.
Т.е. сделать конечно можно и нужно, но не pcoul, а сразу из генератора получать лишь нужные типы паттернов, не сильно сложно, вопрос какие типы нужны.
Выбор был между 20-ю, 32-я и 40-а.
А использовать ускорители готовы или комп не позволяет (может там и не винда)?
И не думаю, что ошибсяя на потора порядка (хотя для этого паттерна статистика не собиралась).
Это не полтора порядка, а лишь вдвое, 0.3 порядка.
-- 16.10.2025, 14:49 --Для ускорения программ поиска теперь нужен как можно более быстрый тест простоты (даже не факторизации), пусть даже часто ошибающийся, ispseudoprime (и Mod(2,p)^p-1) слишком медленны. Попытаться на асме написать быстрый вариант Mod()^p конкретно под числа до 1e57 что ли ... Но моя прикидка где-то выше
медленнее на порядок чем ispseudoprime, значит надо использовать продвинутые методы умножения по модулю, и то не факт что получится сильно быстрее.
Основное отсеивание происходит на первом же factor(,2^15) для непроверяемых ускорителем мест. И думаю тормозит при этом именно ispseudoprime для анализа остатка после factor. Если бы ispseudoprime сделать на асме, то ускорителем можно будет проверять и непроверяемые места (pq, pqr, pqrs) ровно как это делается на PARI и что в основном всё и отсеивает.