Metamath Proof Explorer


Theorem pell1234qrdich

Description: A general Pell solution is either a positive solution, or its negation is. (Contributed by Stefan O'Rear, 18-Sep-2014)

Ref Expression
Assertion pell1234qrdich DAPell1234QRDAPell14QRDAPell14QRD

Proof

Step Hyp Ref Expression
1 elpell1234qr DAPell1234QRDAabA=a+Dba2Db2=1
2 simp-4r DAaa0bA=a+Dba2Db2=1A
3 oveq1 c=ac+Db=a+Db
4 3 eqeq2d c=aA=c+DbA=a+Db
5 oveq1 c=ac2=a2
6 5 oveq1d c=ac2Db2=a2Db2
7 6 eqeq1d c=ac2Db2=1a2Db2=1
8 4 7 anbi12d c=aA=c+Dbc2Db2=1A=a+Dba2Db2=1
9 8 rexbidv c=abA=c+Dbc2Db2=1bA=a+Dba2Db2=1
10 9 rspcev a0bA=a+Dba2Db2=1c0bA=c+Dbc2Db2=1
11 10 adantll DAaa0bA=a+Dba2Db2=1c0bA=c+Dbc2Db2=1
12 elpell14qr DAPell14QRDAc0bA=c+Dbc2Db2=1
13 12 ad4antr DAaa0bA=a+Dba2Db2=1APell14QRDAc0bA=c+Dbc2Db2=1
14 2 11 13 mpbir2and DAaa0bA=a+Dba2Db2=1APell14QRD
15 14 orcd DAaa0bA=a+Dba2Db2=1APell14QRDAPell14QRD
16 15 exp31 DAaa0bA=a+Dba2Db2=1APell14QRDAPell14QRD
17 simp-5r DAaa0bA=a+Dba2Db2=1A
18 17 renegcld DAaa0bA=a+Dba2Db2=1A
19 simpllr DAaa0bA=a+Dba2Db2=1a0
20 znegcl bb
21 20 ad2antlr DAaa0bA=a+Dba2Db2=1b
22 simprl DAaa0bA=a+Dba2Db2=1A=a+Db
23 22 negeqd DAaa0bA=a+Dba2Db2=1A=a+Db
24 zcn aa
25 24 ad4antlr DAaa0bA=a+Dba2Db2=1a
26 eldifi DD
27 26 nncnd DD
28 27 ad5antr DAaa0bA=a+Dba2Db2=1D
29 28 sqrtcld DAaa0bA=a+Dba2Db2=1D
30 zcn bb
31 30 ad2antlr DAaa0bA=a+Dba2Db2=1b
32 29 31 mulcld DAaa0bA=a+Dba2Db2=1Db
33 25 32 negdid DAaa0bA=a+Dba2Db2=1a+Db=-a+Db
34 mulneg2 DbDb=Db
35 34 eqcomd DbDb=Db
36 29 31 35 syl2anc DAaa0bA=a+Dba2Db2=1Db=Db
37 36 oveq2d DAaa0bA=a+Dba2Db2=1-a+Db=-a+Db
38 23 33 37 3eqtrd DAaa0bA=a+Dba2Db2=1A=-a+Db
39 sqneg aa2=a2
40 25 39 syl DAaa0bA=a+Dba2Db2=1a2=a2
41 sqneg bb2=b2
42 31 41 syl DAaa0bA=a+Dba2Db2=1b2=b2
43 42 oveq2d DAaa0bA=a+Dba2Db2=1Db2=Db2
44 40 43 oveq12d DAaa0bA=a+Dba2Db2=1a2Db2=a2Db2
45 simprr DAaa0bA=a+Dba2Db2=1a2Db2=1
46 44 45 eqtrd DAaa0bA=a+Dba2Db2=1a2Db2=1
47 oveq1 c=ac+Dd=-a+Dd
48 47 eqeq2d c=aA=c+DdA=-a+Dd
49 oveq1 c=ac2=a2
50 49 oveq1d c=ac2Dd2=a2Dd2
51 50 eqeq1d c=ac2Dd2=1a2Dd2=1
52 48 51 anbi12d c=aA=c+Ddc2Dd2=1A=-a+Dda2Dd2=1
53 oveq2 d=bDd=Db
54 53 oveq2d d=b-a+Dd=-a+Db
55 54 eqeq2d d=bA=-a+DdA=-a+Db
56 oveq1 d=bd2=b2
57 56 oveq2d d=bDd2=Db2
58 57 oveq2d d=ba2Dd2=a2Db2
59 58 eqeq1d d=ba2Dd2=1a2Db2=1
60 55 59 anbi12d d=bA=-a+Dda2Dd2=1A=-a+Dba2Db2=1
61 52 60 rspc2ev a0bA=-a+Dba2Db2=1c0dA=c+Ddc2Dd2=1
62 19 21 38 46 61 syl112anc DAaa0bA=a+Dba2Db2=1c0dA=c+Ddc2Dd2=1
63 elpell14qr DAPell14QRDAc0dA=c+Ddc2Dd2=1
64 63 ad5antr DAaa0bA=a+Dba2Db2=1APell14QRDAc0dA=c+Ddc2Dd2=1
65 18 62 64 mpbir2and DAaa0bA=a+Dba2Db2=1APell14QRD
66 65 olcd DAaa0bA=a+Dba2Db2=1APell14QRDAPell14QRD
67 66 ex DAaa0bA=a+Dba2Db2=1APell14QRDAPell14QRD
68 67 rexlimdva DAaa0bA=a+Dba2Db2=1APell14QRDAPell14QRD
69 68 ex DAaa0bA=a+Dba2Db2=1APell14QRDAPell14QRD
70 elznn0 aaa0a0
71 70 simprbi aa0a0
72 71 adantl DAaa0a0
73 16 69 72 mpjaod DAabA=a+Dba2Db2=1APell14QRDAPell14QRD
74 73 rexlimdva DAabA=a+Dba2Db2=1APell14QRDAPell14QRD
75 74 expimpd DAabA=a+Dba2Db2=1APell14QRDAPell14QRD
76 1 75 sylbid DAPell1234QRDAPell14QRDAPell14QRD
77 76 imp DAPell1234QRDAPell14QRDAPell14QRD