Bonsoir ,
J'ai un devoir en math expert à rendre j'ai besoin d'aide .
Je n'arrive pas à répondre à cette question :
A l'aide d'un algorithme , dont on donnera le script en python, résoudre l'équation
x^2-3y^2=1 dans [[0;1000]]^2
Merci d'avance
Bonjour à vous deux
pour la prochaine fois, Jasmine22,

J'ai essayé de faire quelque chose dite moi si c'est ça : x^2-3y^2=-1
1^2(x-3y)=-1
= -1(x+3y)/x-3y(x+3y)
= -1x-3y/ x^2-3y^2
Bonjour,
aucun rapport.
on ne te demande pas de résoudre l'équation
mais d'écrire un algorithme qui va essayer successivement des valeurs de x et/ou de y et donner celles pour lesquelles x² - 3y² vaut 1
Bonsoir,
Est ce que tu comprends la notation "dans [[0;1000]]^2 " ?
Quelles sont les valeurs possibles de x ?
Quelles sont les valeurs possibles de y ?
Comment va se présenter si elle existe, une solution de cette équation ?
Remarque (qui ne sert à rien a priori pour faire la recherche de solutions avec python ):
Une solution crève les yeux ! mais y en-a-t-il d'autres ?
donc il faut tester tous les couples (x, y) pour x et y variant dans l'intervalle [0, 1000]
que va-t-on utiliser en algorithme pour tester tous ces couples ?
- cette phrase ne me semble pas.... claire.
Bien sûr il te faut prendre en compte les aides successives de Mathafou :
[0;5] est l'ensemble des nombres réels x tels que 0
x
5]
Si on "double" les crochets,
est l'ensemble des nombres entiers n compris entre 0 et 5 soit
{0;1;2;3;4;5}
Synthèse :
est l'ensemble des COUPLES d'ENTIERS (a;b) tels que
0
a
5 soit a
0
b
5 soit b
Jasmine où es tu ?
Je sais que tu es en vacances mais il est dommage que le travail d'approche fait sur l'île reste inabouti
Prends en compte, tout ce qui t'a été dit et essaye de poursuivre. Nous sommes toutes et tous disposés à t'aider si tu veux bien te manifester à nouveau
.
A bientôt ?
Coup de pouce :
Pour créer l'ensemble des COUPLES d'ENTIERS (a;b), tu peux t'aider d'un "arbre" (ou à la rigueur d'un tableau à double entrée)
Un arbre à 6*6 = 36 branches. Et déjà 2 solutions.... merci le tableur
Pour 1001*1001 couples [de (0;0) à (1000;1000)], il va falloir trouver autre chose... Python

"on sait" résoudre ce genre d'équation (de Perl-Fermat il me semble)
ici avec la solution particulière (2, 1) on en déduit que :
donc par soustraction
donc x = 3k + 2 ou x = 3k - 2 puis = ...
le pb est de déterminer toutes les solutions primitives ...
ainsi la solution (1, 0) semble être aussi une autre solution qui n'entre pas dans le cas précédent ...
Bonjour,
en ce qui concerne la résolution exacte de l'équation de Pell, ce n'est ni au programme du tout, ni demandé.
en tout cas les solutions sont bien plus compliquée que du simple x = 3k±2 car c'est très loin de suffire (comme le montre le tableau précédent, x = 3*1+2 = 5 ne donne aucune solution)
la factorisation effectuée n'apporte vraiment rien au problème.
la clé à un niveau raisonnable (lycée) serait de commencer par démontrer l'identité de Brahmagupta :
(X² + AY²)(X'² + AY'²) = (XX' - AYY')² + A(XY' + X'Y)²
elle permet alors à partir de 2 solutions de les trouver toutes
ainsi si on "double" la solution (2; 1) avec A = -3
(2² - 3*1²)(2² - 3*1²) = (2*2 + 3*1*1)² - 3(2*1 + 2*1)² = 1
(-A = +3 et car chacun des facteurs du premier membre est égal à 1)
soit la solution "suivante" 7² - 3*4² = 1
il n'y en a pas entre ces solutions là
(la partie -très- difficile de la chose est de démontrer cela, que ce procédé donne toutes les solutions sans en oublier, cela faisait l'objet de questions d'un problème de concours général de 1965&pm1; je n'ai pas gardé ni retrouvé le sujet, j'avais lamentablement raté
)
on peut re "multiplier" encore par la solution "fondamentale" (2;1) pour obtenir la suivante etc
le mot "multiplier" n'est pas choisi au hasard car l'ensemble des solutions forme un groupe multiplicatif avec comme opération de multiplication l'identité de Brahmagupta, et comme élément neutre la solution triviale (1; 0),
c'était ça le concours général en question, sans le vocabulaire employé ici
les solutions croissent en gros comme une suite géométrique de raison
vu que elles sont toutes , avec comme opération de "multiplication" ce qui a été défini ci dessus, égales à (2; 1)n dans ce groupe multipiicatif
mais tout ceci est très loin de ce qui est demandé dans l'exo !!
on va donc arrêter là cette digression sur les équations de Pell-Fermat.
et revenir au sujet qui est d'écrire un algorithme "de force brute" qui essaye successivement des valeurs systématiques (x; y) "dans l'ordre"
c'est à dire, en gros , traduire sous forme d'algorithme ce que fait le tableau de ZEDMAT
je n'ai pas apporté une solution toute faite ... mais juste un peu de culture ...
quant à l'aogo c'est ce que je demande ou précise dans mes deux premiers posts .. 
Je me suis un peu cultivé : merci à Carpediem et Mathafou pour cette incursion en terre inconnue
mais Jasmine n'est pas réapparue
.
Je suis toujours un peu triste quand un(e) élève vient chercher un peu d'aide sur l'île et disparait soudain avant même que nous ayons pu lui prodiguer nos "aimables" conseils...
On peut toujours croire qu'à notre contact, il ou elle a eu la "révélation" et que volant de ses propres ailes, il ou elle s'est éloigné(e) sans mot dire !!
Hum !! je n'y crois pas trop... je voudrais bien comprendre pourquoi, par exemple Jasmine, alors que nous avions commencé un (fructueux ?) dialogue, a brutalement fait silence.
Jasmine, si tu lis ce message, s'il te plait, viens nous dire pourquoi tu as renoncé alors que la "réponse" - juste 5 malheureuses petites lignes de code Python- était à portée de ta compréhension... Tout au plus deux "for in range()" (tu connais ?) et un "if" (le test, tu as déjà pratiqué ?) a t'expliquer et le tour était joué. Je ne peux te donner la réponse (déontologie du site) mais peut-être me pardonnera-t-on, de t'en révéler la... moitié

Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :