Для дальнейших выкладок нам понадобится ввести последовательности чисел Люка и перечислить некоторые их свойства.
Пусть
P
{\displaystyle P}
и
Q
{\displaystyle Q}
— некоторые фиксированные целые числа. Последовательности чисел Люка определяются как[1] :
U
0
(
P
,
Q
)
=
0
,
U
1
(
P
,
Q
)
=
1
,
U
n
+
2
(
P
,
Q
)
=
P
⋅
U
n
+
1
(
P
,
Q
)
−
Q
⋅
U
n
(
P
,
Q
)
,
n
≥
0
{\displaystyle U_{0}(P,Q)=0,\quad U_{1}(P,Q)=1,\quad U_{n+2}(P,Q)=P\cdot U_{n+1}(P,Q)-Q\cdot U_{n}(P,Q),n\geq 0}
V
0
(
P
,
Q
)
=
2
,
V
1
(
P
,
Q
)
=
P
,
V
n
+
2
(
P
,
Q
)
=
P
⋅
V
n
+
1
(
P
,
Q
)
−
Q
⋅
V
n
(
P
,
Q
)
,
n
≥
0
{\displaystyle V_{0}(P,Q)=2,\quad V_{1}(P,Q)=P,\quad V_{n+2}(P,Q)=P\cdot V_{n+1}(P,Q)-Q\cdot V_{n}(P,Q),n\geq 0}
Пусть также
Δ
=
P
2
−
4
Q
.
{\displaystyle \Delta =P^{2}-4Q.}
Последовательности имеют следующие свойства:
{
U
2
n
=
V
n
⋅
U
n
,
V
2
n
=
V
n
2
−
2
Q
n
2
(
1
)
{\displaystyle \left\{{\begin{matrix}U_{2n}=V_{n}\cdot U_{n},\\V_{2n}=V_{n}^{2}-2Q_{n}^{2}\end{matrix}}\right.\quad (1)}
{
U
2
n
−
1
=
U
n
2
−
Q
⋅
U
n
−
1
2
,
V
2
n
−
1
=
V
n
⋅
V
n
−
1
−
P
⋅
Q
n
−
1
(
2
)
{\displaystyle \left\{{\begin{matrix}U_{2n-1}=U_{n}^{2}-Q\cdot U_{n-1}^{2},\\V_{2n-1}=V_{n}\cdot V_{n-1}-P\cdot Q^{n-1}\end{matrix}}\right.\quad (2)}
{
Δ
U
n
=
P
⋅
V
n
−
2
Q
⋅
V
n
−
1
,
V
n
=
P
⋅
U
n
−
2
Q
⋅
U
n
−
1
(
3
)
{\displaystyle \left\{{\begin{matrix}\Delta U_{n}=P\cdot V_{n}-2Q\cdot V_{n-1},\\V_{n}=P\cdot U_{n}-2Q\cdot U_{n-1}\end{matrix}}\right.\quad (3)}
{
U
n
+
m
=
U
m
⋅
U
n
+
1
−
Q
⋅
U
m
−
1
⋅
U
n
,
Δ
U
n
+
m
=
V
m
⋅
V
n
+
1
−
Q
⋅
V
m
−
1
⋅
V
n
(
4
)
{\displaystyle \left\{{\begin{matrix}U_{n+m}=U_{m}\cdot U_{n+1}-Q\cdot U_{m-1}\cdot U_{n},\\\Delta U_{n+m}=V_{m}\cdot V_{n+1}-Q\cdot V_{m-1}\cdot V_{n}\end{matrix}}\right.\quad (4)}
{
U
n
(
V
k
(
P
,
Q
)
,
Q
k
)
=
U
n
k
(
P
,
Q
)
/
U
k
(
P
,
Q
)
,
V
n
(
V
k
(
P
,
Q
)
,
Q
k
)
=
V
n
k
(
P
,
Q
)
(
5
)
{\displaystyle \left\{{\begin{matrix}U_{n}(V_{k}(P,Q),Q^{k})=U_{nk}(P,Q)/U_{k}(P,Q),\\V_{n}(V_{k}(P,Q),Q^{k})=V_{nk}(P,Q)\end{matrix}}\right.\quad (5)}
Для доказательства данных свойств рассмотрим формулы последовательности чисел Люка :
U
n
(
P
,
Q
)
=
α
n
−
β
n
α
−
β
{\displaystyle U_{n}(P,Q)={\frac {\alpha ^{n}-\beta ^{n}}{\alpha -\beta }}}
и
V
n
(
P
,
Q
)
=
α
n
+
β
n
,
{\displaystyle V_{n}(P,Q)=\alpha ^{n}+\beta ^{n},}
где
α
{\displaystyle \alpha }
и
β
{\displaystyle \beta }
— корни характеристического многочлена
x
2
−
P
⋅
x
+
Q
{\displaystyle x^{2}-P\cdot x+Q}
Используя явные формулы и теорему Виетта :
P
=
α
+
β
;
Q
=
α
⋅
β
,
{\displaystyle P=\alpha +\beta ;\quad Q=\alpha \cdot \beta ,}
получаем выражения
(
1
)
,
(
2
)
,
(
3
)
,
(
4
)
{\displaystyle (1),(2),(3),(4)}
и
(
5
)
.
{\displaystyle (5).}
Далее выделяем ещё одно свойство:
Если НОД
(
N
,
Q
)
=
1
{\displaystyle (N,Q)=1\quad }
и
P
′
Q
≡
P
2
−
2
Q
mod
N
,
{\displaystyle P^{\prime }Q\equiv P^{2}-2Q\mod N,\quad }
то:
P
′
≡
α
/
β
+
β
/
α
{\displaystyle P^{\prime }\equiv \alpha /\beta +\beta /\alpha \quad }
и
Q
′
≡
1
,
{\displaystyle Q^{\prime }\equiv 1,\quad }
откуда
U
2
m
(
P
,
Q
)
≡
P
⋅
Q
m
−
1
⋅
U
m
(
P
′
,
1
)
mod
N
(
6
)
{\displaystyle U_{2m}(P,Q)\equiv P\cdot Q^{m-1}\cdot U_{m}(P^{\prime },1)\mod N\quad (6)}
И затем формулируем теорему:
Если p — нечётное простое число,
p
∣
Q
{\displaystyle p\mid Q}
и символ Лежандра
ϵ
=
(
Δ
/
p
)
{\displaystyle \epsilon =(\Delta /p)}
, то:
{
U
(
p
−
ϵ
)
m
(
P
,
Q
)
≡
0
mod
p
,
V
(
p
−
ϵ
)
m
(
P
,
Q
)
≡
2
Q
m
(
1
−
ϵ
)
/
2
mod
p
(
T
1
)
{\displaystyle \left\{{\begin{matrix}U_{(p-\epsilon )m}(P,Q)\equiv 0\mod p,\\V_{(p-\epsilon )m}(P,Q)\equiv 2Q^{m(1-\epsilon )/2}\mod p\end{matrix}}\right.\quad (T1)}
Доказательство данной теоремы трудоёмкое, и его можно найти в книге Д. Г. Лемера[2] .
Графическое представление первого шага
Пусть
p
{\displaystyle p}
— простой делитель факторизуемого числа
N
{\displaystyle N}
, и выполнено разложение:
p
+
1
=
∏
i
=
1
k
q
i
α
i
,
{\displaystyle p+1=\prod _{i=1}^{k}q_{i}^{\alpha _{i}},}
где
q
i
{\displaystyle q_{i}}
— простые числа.
Пусть
B
=
max
{
q
i
α
i
|
∀
i
:
1
≤
i
≤
k
}
.
{\displaystyle B=\max\{q_{i}^{\alpha _{i}}|\forall i:1\leq i\leq k\}.}
Введём число
R
=
∏
i
=
1
k
q
i
β
i
,
{\displaystyle R=\prod _{i=1}^{k}q_{i}^{\beta _{i}},}
где степени
β
i
{\displaystyle \beta _{i}}
выбираются таким образом, что
q
i
β
i
≤
B
,
q
i
β
i
+
1
>
B
∀
i
:
1
≤
i
≤
k
.
{\displaystyle q_{i}^{\beta _{i}}\leq B,q_{i}^{\beta _{i}+1}>B\quad \forall i:1\leq i\leq k.}
Тогда
p
+
1
|
R
.
{\displaystyle p+1|R.}
[1]
Далее, согласно теореме
(
T
1
)
,
{\displaystyle (T1),}
если НОД
(
N
,
Q
)
=
1
,
(
Δ
/
p
)
=
−
1
,
{\displaystyle (N,Q)=1,(\Delta /p)=-1,}
то
p
|
U
R
(
P
,
Q
)
.
{\displaystyle p|U_{R}(P,Q).}
И, следовательно,
p
|
{\displaystyle p|}
НОД
(
U
R
(
P
,
Q
)
,
N
)
,
{\displaystyle (U_{R}(P,Q),N),}
то есть найден делитель искомого числа
N
{\displaystyle N}
[1] .
Стоит обратить внимание, что числа
P
,
Q
,
p
{\displaystyle P,Q,p}
не известны на начальном этапе задачи. Поэтому для упрощения задачи сделаем следующее: так как
p
|
U
R
(
P
,
Q
)
,
{\displaystyle p|U_{R}(P,Q),}
то по свойству (2)
p
|
U
2
R
(
P
,
Q
)
.
{\displaystyle p|U_{2R}(P,Q).}
Далее воспользуемся свойством (6) и получим:
p
|
U
R
(
P
′
,
1
)
.
{\displaystyle p|U_{R}(P^{\prime },1).}
Таким образом, мы без потери общности можем утверждать, что
Q
=
1.
{\displaystyle Q=1.}
[1]
Далее пользуемся теоремой
(
T
1
)
,
{\displaystyle (T1),}
из которой делаем вывод, что
V
(
p
−
ϵ
)
m
(
P
,
1
)
≡
2
mod
p
;
{\displaystyle V_{(p-\epsilon )m}(P,1)\equiv 2\mod p;}
И, следовательно,
p
|
(
V
R
(
P
,
1
)
−
2
)
.
{\displaystyle p|(V_{R}(P,1)-2).}
[1]
Теперь выбираем некоторое число
P
{\displaystyle P}
такое, что НОД
(
P
2
−
4
,
N
)
=
1
;
{\displaystyle (P^{2}-4,N)=1;}
Обозначаем:
V
n
(
P
)
=
V
n
(
P
,
1
)
,
U
n
(
P
)
=
U
n
(
P
,
1
)
.
{\displaystyle V_{n}(P)=V_{n}(P,1),\quad U_{n}(P)=U_{n}(P,1).}
Окончательно, нужно найти НОД
(
V
R
(
P
)
−
2
,
N
)
.
{\displaystyle (V_{R}(P)-2,N).}
[1]
Для поиска
V
R
(
P
)
{\displaystyle V_{R}(P)}
поступаем следующим образом[1] :
1) раскладываем
R
{\displaystyle R}
в двоичный вид:
R
=
∑
i
=
0
t
b
i
2
t
−
i
,
{\displaystyle R=\sum _{i=0}^{t}b_{i}2^{t-i},}
где
b
i
=
0
,
1
{\displaystyle b_{i}=0,1}
.
2) вводим последовательность натуральных чисел
{
f
n
}
:
f
0
=
1
;
f
k
+
1
=
2
f
k
+
b
k
+
1
{\displaystyle \{f_{n}\}:f_{0}=1;f_{k+1}=2f_{k}+b_{k+1}}
. При этом
f
t
=
R
{\displaystyle f_{t}=R}
;
3) ищем пары значений
(
V
f
k
+
1
,
V
f
k
+
1
−
1
)
{\displaystyle (V_{f_{k+1}},V_{f_{k+1}-1})}
по следующему правилу:
(
V
f
k
+
1
,
V
f
k
+
1
−
1
)
=
{
(
V
2
f
k
,
V
2
f
k
−
1
)
,
w
h
e
n
b
k
+
1
=
0
;
(
V
2
f
k
+
1
,
V
2
f
k
)
,
w
h
e
n
b
k
+
1
=
1
{\displaystyle (V_{f_{k+1}},V_{f_{k+1}-1})=\left\{{\begin{matrix}(V_{2f_{k}},V_{2f_{k}-1}),when\quad b_{k+1}=0;\\(V_{2f_{k}+1},V_{2f_{k}}),when\quad b_{k+1}=1\end{matrix}}\right.}
при этом
V
0
(
P
)
=
2
,
V
1
(
P
)
=
P
{\displaystyle V_{0}(P)=2,V_{1}(P)=P}
4) значения
V
2
f
k
−
1
,
V
2
f
k
,
V
2
f
k
+
1
{\displaystyle V_{2f_{k}-1},V_{2f_{k}},V_{2f_{k}+1}}
ищутся по правилам (которые следуют из свойств
(
1
)
,
(
2
)
{\displaystyle (1),(2)}
и определения последовательности чисел Люка ):
{
V
2
f
−
1
≡
V
f
V
f
−
1
−
P
mod
N
;
V
2
f
≡
V
f
2
−
2
mod
N
;
V
2
f
+
1
≡
P
V
f
2
−
V
f
V
f
−
1
−
P
mod
N
{\displaystyle \left\{{\begin{matrix}V_{2f-1}\equiv V_{f}V{f-1}-P\mod N;\\V_{2f}\equiv V_{f}^{2}-2\mod N;\\V_{2f+1}\equiv PV_{f}^{2}-V_{f}V_{f-1}-P\mod N\end{matrix}}\right.}
.
Для значений, введённых по умолчанию, то есть
N
=
451889
,
R
=
2520
,
P
=
6
{\displaystyle N=451889,R=2520,P=6}
получаем результат:
374468
Делаем проверку этого значения. Для этого считаем НОД
(
V
R
(
P
)
−
2
,
N
)
=
{\displaystyle (V_{R}(P)-2,N)=}
НОД
(
374468
−
2
,
451889
)
=
139
{\displaystyle (374468-2,451889)=139}
и
451889
⋮
139
{\displaystyle \quad 451889\vdots 139}
.
Если мы в первом шаге неудачно выбрали числа
R
,
P
{\displaystyle R,P}
, то есть получилось так, что НОД
(
V
R
(
P
)
−
2
,
N
)
=
1
{\displaystyle (V_{R}(P)-2,N)=1}
, то тогда нужно переходить ко второму шагу. Иначе — работа завершена[1] .
Графическое представление второго шага
Пусть число
p
+
1
{\displaystyle p+1}
имеет некоторый простой делитель
s
{\displaystyle s}
, больший чем
B
{\displaystyle B}
, но меньший некоторого
B
2
{\displaystyle B_{2}}
, то есть:
p
=
s
⋅
(
∏
i
=
1
k
q
i
α
i
)
−
1
{\displaystyle p=s\cdot (\prod _{i=1}^{k}q_{i}^{\alpha _{i}})-1}
, где
B
<
s
≤
B
2
{\displaystyle B<s\leq B_{2}}
Вводим последовательность простых чисел
{
s
j
:
B
<
s
j
≤
B
2
∀
j
=
1
,
2
,
.
.
.
,
k
}
{\displaystyle \{s_{j}:B<s_{j}\leq B_{2}\quad \forall j=1,2,...,k\}}
.
Вводим ещё одну последовательность:
{
d
j
:
2
d
j
=
s
j
+
1
−
s
j
∀
j
=
1
,
2
,
.
.
.
,
k
−
1
}
{\displaystyle \{d_{j}:2d_{j}=s_{j+1}-s_{j}\quad \forall j=1,2,...,k-1\}}
Далее определяем:
T
[
s
i
]
≡
Δ
U
s
i
R
(
P
)
/
U
R
(
P
)
mod
N
{\displaystyle T[s_{i}]\equiv \Delta U_{s_{i}R}(P)/U_{R}(P)\mod N}
.
Используя свойство
(
5
)
{\displaystyle (5)}
, получаем первые элементы:
{
T
[
s
1
]
≡
P
V
[
s
1
]
−
2
V
[
s
1
−
1
]
mod
N
;
T
[
s
1
−
1
]
≡
2
V
[
s
1
]
−
P
V
[
s
1
−
1
]
mod
N
{\displaystyle \left\{{\begin{matrix}T[s_{1}]\equiv PV[s_{1}]-2V[s_{1}-1]\mod N;\\T[s_{1}-1]\equiv 2V[s_{1}]-PV[s_{1}-1]\mod N\end{matrix}}\right.}
.
Далее используем свойство
(
4
)
{\displaystyle (4)}
и получаем:
{
T
[
s
i
+
1
]
≡
T
[
s
i
]
U
[
2
d
i
+
1
]
−
T
[
s
i
−
1
]
U
[
2
d
i
]
mod
N
,
T
[
s
i
+
1
−
1
]
≡
T
[
s
i
]
U
[
2
d
i
]
−
T
[
s
i
−
1
]
U
[
2
d
i
−
1
]
mod
N
{\displaystyle \left\{{\begin{matrix}T[s_{i+1}]\equiv T[s_{i}]U[2d_{i}+1]-T[s_{i}-1]U[2d_{i}]\mod N,\\T[s_{i+1}-1]\equiv T[s_{i}]U[2d_{i}]-T[s_{i}-1]U[2d_{i}-1]\mod N\end{matrix}}\right.}
.
Таким образом, мы вычисляем
T
[
s
i
]
,
∀
i
=
1
,
2
,
…
,
k
{\displaystyle T[s_{i}],\forall i=1,2,\ldots ,k}
Далее считаем:
H
t
=
{\displaystyle H_{t}=}
НОД
(
∏
i
=
1
t
T
[
s
i
]
,
N
)
{\displaystyle (\prod _{i=1}^{t}T[s_{i}],N)}
для
t
=
1
,
2
,
…
,
k
{\displaystyle t=1,2,\ldots ,k}
Как только получаем
H
t
≠
1
{\displaystyle H_{t}\neq 1}
, то прекращаем вычисления[1] .
Для значений, введённых по умолчанию, то есть
N
=
451889
,
B
=
10
,
B
2
=
50
,
P
=
7
{\displaystyle N=451889,B=10,B_{2}=50,P=7}
получаем результат:
139,
что является верным ответом.
В связи с тем, что
p
−
1
{\displaystyle p-1}
-метод факторизации работает быстрее,
p
+
1
{\displaystyle p+1}
-метод применяется на практике очень редко[1] .
На данный момент (27.09.2023) три самых больших простых делителя[3] , найденных методом
P
+
1
{\displaystyle P+1}
, состоят из 60, 55 и 53 десятичных цифр.
Подробнее , ... Закрыть
Здесь
L
2366
{\displaystyle L_{2366}}
— 2366-й член последовательности чисел Люка.
Williams H. C. A p+1 method of factoring (англ.) = A p+1 method of factoring // American Mathematical Society. — 1982. — Т. 39 , вып. 159 . — С. 225—234 . — ISSN 00255718 .
D. H. Lehmer. An extended theory of Lucas' functions (англ.) = An extended theory of Lucas' functions // Ann. of Math.. — 1930. — Т. 31 , вып. 2 . — С. 419—448 .
Ишмухаметов Ш. Т. Методы факторизации натуральных чисел: Учебное пособие . — Казань: Казанский Университет, 2011. — С. 60—61. — 190 с.