Metamath Proof Explorer


Theorem difsqpwdvds

Description: If the difference of two squares is a power of a prime, the prime divides twice the second squared number. (Contributed by AV, 13-Aug-2021)

Ref Expression
Assertion difsqpwdvds A0B0B+1<ACD0CD=A2B2C2B

Proof

Step Hyp Ref Expression
1 nn0cn A0A
2 nn0cn B0B
3 1 2 anim12i A0B0AB
4 3 3adant3 A0B0B+1<AAB
5 subsq ABA2B2=A+BAB
6 4 5 syl A0B0B+1<AA2B2=A+BAB
7 6 adantr A0B0B+1<ACD0A2B2=A+BAB
8 7 eqeq2d A0B0B+1<ACD0CD=A2B2CD=A+BAB
9 simprl A0B0B+1<ACD0C
10 nn0z A0A
11 nn0z B0B
12 10 11 anim12i A0B0AB
13 zaddcl ABA+B
14 12 13 syl A0B0A+B
15 14 3adant3 A0B0B+1<AA+B
16 nn0re B0B
17 16 adantl A0B0B
18 1red A0B01
19 nn0re A0A
20 19 adantr A0B0A
21 17 18 20 ltaddsub2d A0B0B+1<A1<AB
22 simpr A0B0B0
23 20 22 18 3jca A0B0AB01
24 difgtsumgt AB011<AB1<A+B
25 23 24 syl A0B01<AB1<A+B
26 21 25 sylbid A0B0B+1<A1<A+B
27 26 3impia A0B0B+1<A1<A+B
28 eluz2b1 A+B2A+B1<A+B
29 15 27 28 sylanbrc A0B0B+1<AA+B2
30 29 adantr A0B0B+1<ACD0A+B2
31 simprr A0B0B+1<ACD0D0
32 9 30 31 3jca A0B0B+1<ACD0CA+B2D0
33 32 adantr A0B0B+1<ACD0CD=A+BABCA+B2D0
34 zsubcl ABAB
35 13 34 jca ABA+BAB
36 12 35 syl A0B0A+BAB
37 36 3adant3 A0B0B+1<AA+BAB
38 dvdsmul1 A+BABA+BA+BAB
39 37 38 syl A0B0B+1<AA+BA+BAB
40 39 ad2antrr A0B0B+1<ACD0CD=A+BABA+BA+BAB
41 breq2 CD=A+BABA+BCDA+BA+BAB
42 41 adantl A0B0B+1<ACD0CD=A+BABA+BCDA+BA+BAB
43 40 42 mpbird A0B0B+1<ACD0CD=A+BABA+BCD
44 dvdsprmpweqnn CA+B2D0A+BCDmA+B=Cm
45 33 43 44 sylc A0B0B+1<ACD0CD=A+BABmA+B=Cm
46 prmz CC
47 iddvdsexp CmCCm
48 46 47 sylan CmCCm
49 breq2 A+B=CmCA+BCCm
50 48 49 syl5ibrcom CmA+B=CmCA+B
51 50 rexlimdva CmA+B=CmCA+B
52 51 adantr CD0mA+B=CmCA+B
53 52 adantl A0B0B+1<ACD0mA+B=CmCA+B
54 53 adantr A0B0B+1<ACD0CD=A+BABmA+B=CmCA+B
55 12 34 syl A0B0AB
56 55 3adant3 A0B0B+1<AAB
57 21 biimp3a A0B0B+1<A1<AB
58 eluz2b1 AB2AB1<AB
59 56 57 58 sylanbrc A0B0B+1<AAB2
60 59 adantr A0B0B+1<ACD0AB2
61 9 60 31 3jca A0B0B+1<ACD0CAB2D0
62 61 adantr A0B0B+1<ACD0CD=A+BABCAB2D0
63 dvdsmul2 A+BABABA+BAB
64 37 63 syl A0B0B+1<AABA+BAB
65 64 ad2antrr A0B0B+1<ACD0CD=A+BABABA+BAB
66 breq2 CD=A+BABABCDABA+BAB
67 66 adantl A0B0B+1<ACD0CD=A+BABABCDABA+BAB
68 65 67 mpbird A0B0B+1<ACD0CD=A+BABABCD
69 dvdsprmpweqnn CAB2D0ABCDnAB=Cn
70 62 68 69 sylc A0B0B+1<ACD0CD=A+BABnAB=Cn
71 iddvdsexp CnCCn
72 46 71 sylan CnCCn
73 breq2 AB=CnCABCCn
74 72 73 syl5ibrcom CnAB=CnCAB
75 74 rexlimdva CnAB=CnCAB
76 75 adantr CD0nAB=CnCAB
77 76 adantl A0B0B+1<ACD0nAB=CnCAB
78 77 adantr A0B0B+1<ACD0CD=A+BABnAB=CnCAB
79 46 adantr CD0C
80 37 79 anim12ci A0B0B+1<ACD0CA+BAB
81 3anass CA+BABCA+BAB
82 80 81 sylibr A0B0B+1<ACD0CA+BAB
83 dvds2sub CA+BABCA+BCABCA+B-AB
84 82 83 syl A0B0B+1<ACD0CA+BCABCA+B-AB
85 1 3ad2ant1 A0B0B+1<AA
86 2 3ad2ant2 A0B0B+1<AB
87 85 86 86 pnncand A0B0B+1<AA+B-AB=B+B
88 2 2timesd B02B=B+B
89 88 eqcomd B0B+B=2B
90 89 3ad2ant2 A0B0B+1<AB+B=2B
91 87 90 eqtrd A0B0B+1<AA+B-AB=2B
92 91 breq2d A0B0B+1<ACA+B-ABC2B
93 92 biimpd A0B0B+1<ACA+B-ABC2B
94 93 adantr A0B0B+1<ACD0CA+B-ABC2B
95 84 94 syld A0B0B+1<ACD0CA+BCABC2B
96 95 expcomd A0B0B+1<ACD0CABCA+BC2B
97 96 adantr A0B0B+1<ACD0CD=A+BABCABCA+BC2B
98 78 97 syld A0B0B+1<ACD0CD=A+BABnAB=CnCA+BC2B
99 70 98 mpd A0B0B+1<ACD0CD=A+BABCA+BC2B
100 54 99 syld A0B0B+1<ACD0CD=A+BABmA+B=CmC2B
101 45 100 mpd A0B0B+1<ACD0CD=A+BABC2B
102 101 ex A0B0B+1<ACD0CD=A+BABC2B
103 8 102 sylbid A0B0B+1<ACD0CD=A2B2C2B