Kilka lat temu zauważyłem, że faktoryzację można przeprowadzić rozwiazując układ równań. Rozwiązywanie jest dwuetapowe, i wymaga znalezienia specjalnej postaci liczby zapisanej jako wielomian nad systemem pozycyjnym.
Generalna uwaga: na pozycjach cyfr występują liczby całkowite, nie tylko dodatnie, ale i ujemne. Teraz wzmocniłem nieco tamto podejście, wtedy potrzebowałem liczby 'pięciocyfrowej', teraz chcę pokazać niezmienniki pozwalające uzyskać rozkład z liczby 'czterocyfrowej'.
Odwracam zwykłe pisemne liczb trójcyfrowej oraz dwucyfrowej:
[a,b,c]_{p} * [d,e]_{p} = [a*d, a*e+b*d, b*e+c*d, c*e]_{p} = [A,B,C,D]_{p} (1)
Liczba jest w systemie o podstawie p ma postać [La, Lb, Lc, Ld]_{p}
Pierwsze niezmienniki dotyczą przeniesień:
a*d + k1 = A+k1 = La
(a*e+b*d) + k2 - p*k1 = Lb
(b*e+c*d) + k3 - p*k2 = Lc
c*e - p*k3 = D - p*k3 = Ld
Kolejne przekształcenia kierują do specjalnej budowy liczby, w której wyrazy skrajne [A, B, C, D]_{p} oddziaływują na wyrazy środkowe według formuły (1), czyli wyrazy B, C zawierają jako składniki wielokrotności dzielnika A, oraz wielokrotności dzielnika D; dodatkowo składniki te mają występować w tych samych proporcjach, związanych z szukanym czynnikiem [d,e]_{p}. Podczas uzgadniania wyrazów skrajnych, wyrazy środkowe mają dodatkowe składniki w proporcjach takich samych jak kolejne pary.
Jeśli wartości są dobrane poprawnie, konwersja na system o podstawie {p+1} postaci:
[a,b,c]_{p} = [a, b-2*a, a-b+c]_{p+1}
[d,e]_{p} = [d, e-d]_{p+1}
pozostaje niezmiennicza względem wartosci liczby. Nie stosuję tu konwersji całej liczby postaci
[a,b,c,d]_{p} = [a, b-3*a, c-2*b+3*a, d-c+b-a] _{p+1}
co pomaga lepiej szacować wartości wyrazów A, B, C, D.
Chcę pokazać budowę tych specjalnych postaci liczb dla dwu wartości. Dodatkowo przedstawię je w takim systemie, by maksymalnie uprościć współczynnik b, dokładniej on się tu zeruje. W tym celu użyję podstawy, przy której oba dzielniki są bliskie pierwiastka kwadratowego, czyli prawidłowy zapis liczby w systemie pozycyjnym jako najmniejszej liczby 'pięciocyfrowej' skracam do czterech cyfr.
7387 = [1,1,1,1,7]_{9} zapisane jako [10, 1, 1, 7]_{9}.
Tu dodatkowo dochodzą własności, że a=1 oraz d jest duże. Docelową postacią jest
[9, 8, 18, 16] _{9}
Z tej postaci łatwo odczytujemy dzielniki [9,8]_{9} * [1, 0, 2]_{9} = 89*83
7031 = [9, 5, 7, 2]_{9}
Postaciami są [9, 8, -18, -16]_{9} oraz [8, 7, 64, 56]_{9}.
Dzielnikami są: 7031 = [9, 8]_{9} * [1, 0, -2]_{9} = [1, 0, 8]_{9} * [8, 7]_{9} = 89*79
Podstawowym celem jest dopuszczenie w myśleniu takiego zapisu liczby, zaś same przekształcenia są dodatkiem kierujacym się na wyłapywaniu wspólnych składników na różnych pozycjach. Np. moim pierwszym krokiem było zwiększenie wartości, by można było przenosić całe wielokrotności p. Co okazywało się błędem, gdyż zaraz trzeba było zmniejszać dla uzgadniania proporcji, już o p.