2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 множество, где многочлен вычисляет точный квадрат
Сообщение09.10.2017, 15:52 
Аватара пользователя


17/04/11
658
Ukraine
Задача. Придумать эффективный алгоритм, который выдаёт все такие $(n, m)$, что $n^2+nm+m^2$ есть точный квадрат (perfect square, квадрат целого числа).

Задача родилась в ходе одного учебного курса по математическому мышлению (другими словами, по практической математической логике). Не знаю, подходит ли она в этот раздел. Там надо было доказать или опровергнуть, что такая пара целых чисел существует. $(0, m)$ и $(n, 0)$ очевидно удовлетворяют условию. Другие пары более интересны.

Очевидный алгоритм: перечислить все пары целых чисел и оставить только те, которые удовлетворяют условию. Этот алгоритм считается неэффективным. Надо лучше.

 Профиль  
                  
 
 Re: множество, где многочлен вычисляет точный квадрат
Сообщение09.10.2017, 16:13 
Заслуженный участник
Аватара пользователя


13/08/08
14495
В глаза бросается $(3;5)$. Ну и, конечно, пропорциональные пары $(3k;5k)$. Это я к тому, что пары есть.

 Профиль  
                  
 
 Re: множество, где многочлен вычисляет точный квадрат
Сообщение09.10.2017, 16:57 
Заслуженный участник


20/04/10
1876
Имеем $n m=(n+m)^2-a^2$. Пусть $q$ делит $n m$, тогда $$nm=(nm/q)q=\left(\frac{(nm/q)+q}{2}\right)^2-\left(\frac{(nm/q)-q}{2}\right)^2$. Если $(nm/q)+q=2(n+m)$ или $(nm/q)-q=2(n+m)$, тогда n, m решение. Например $m=2 k-1, n=k (k-2)$.
В простых числах кроме уже найденного $3,5$ решений больше нет.

 Профиль  
                  
 
 Re: множество, где многочлен вычисляет точный квадрат
Сообщение09.10.2017, 18:27 


15/03/11
137
$n^2+nm+m^2 = z^2$
$4n^2+4nm+4m^2 = (2z)^2$
$(2n+m)^2+3m^2 = (2z)^2$
$(2z)^2-3m^2 = (2n+m)^2$

Если поделить на (2n+m)^2 то получим уравнение Пелля в рациональных числах.
Тогда его параметры выражаются следующими формулами:
2n+m = 3a^2-b^2
m = 2ab
2z = 3a^2+b^2
Или
m=2ab
n=(3a^2-b^2-2ab)/2

Останется только сократить на общий множитель. И готово.

 Профиль  
                  
 
 Re: множество, где многочлен вычисляет точный квадрат
Сообщение09.10.2017, 18:57 


26/08/11
2100
beroal в сообщении #1254252 писал(а):
ффективный алгоритм, который выдаёт все такие
Все не получится, их бесконечно много. Можно вывести формулу, выдающую все решения (двухпараметрическое решение, уравнение однородное второго порядка), Можно алгоритм, выдающий все в некотором интервале (тогда лучще умный перебор).

 Профиль  
                  
 
 Re: множество, где многочлен вычисляет точный квадрат
Сообщение09.10.2017, 19:31 
Заслуженный участник


09/02/06
4397
Москва
$m^2+mn+n^2=(m\theta-n\theta^2)(m\theta^2-n\theta), \ \theta^3=1.$
Это значит эта форма представляет норму чисел из кольца $Z[\theta]$. Степеням из этого кольца соответствуют степени норм, т.е. если брать квадраты в кольце, то их нормы так же будут квадратами.

 Профиль  
                  
 
 Re: множество, где многочлен вычисляет точный квадрат
Сообщение10.10.2017, 00:59 
Заслуженный участник


20/04/10
1876
Параметризация
$m=a(2b-a), n=b(b-2a)$
содержит все решения, для которых $(m,n)=1$, т.е. примитивные решения.
Получилось такое тождество
$a^2 (2 b-a)^2-a b (2 a-b) (2 b-a)+b^2 (2 a-b)^2=\left(a^2-a b+b^2\right)^2$

 Профиль  
                  
 
 Re: множество, где многочлен вычисляет точный квадрат
Сообщение10.10.2017, 09:46 
Заслуженный участник


08/04/08
8562
Есть общий способ решения подобных задач - метод секущих, изложен в книжке Цфасмана. Делим на квадрат в правой части, получаем уравнение $x^2+xy+y^2=1$ в рациональных числах $x,y$, находим одну рациональную точку, проводим секущую, поскольку уравнение 2-го порядка, то секущая, проходящая через рациональную точку, пересекает кривую в другой рациональной точке. Отсюда все такие точки и находятся.

 Профиль  
                  
 
 Re: множество, где многочлен вычисляет точный квадрат
Сообщение10.10.2017, 21:25 
Заслуженный участник


17/09/10
2143
Эквивалентных рациональных параметрических решений уравнения $m^2+mn+m^2=z^2$ существует бесконечно много.
Интересным, на мой взгляд, является $m=b(b+2a), n=a^2-b^2, z=a^2+ab+b^2$, и вот почему.
Заметим, что справедливо тождество $(m^2+mn+n^2)(a^2+ab+b^2)=r^2+rs+s^2$, где $r=ma-nb, s=na+mb+nb$ и $a,b,m,n$ любые целые числа.
Это тождество позволяет вычислить 2-параметрические решения в целых числах для уравнения $m^2+mn+n^2=z^k$, где $k$ - любое натуральное число.
Так, для $k=3$ это $m=b(a^2+ab+b^2), n=a(a^2+ab+b^2), z= a^2+ab+b^2$,
для $k=4$ это $m=(a^2-b^2)(a^2+4ab+b^2), n=a(a+2b)(2b^2+2ab-a^2), z=a^2+ab+b^2$
для $k=5$ это $m=a(a^4+5ba^3-10ab^3-5b^4), n=(a+b)(ab^3+9a^2{b^2}+ba^3-a^4-b^4)$,
$z=a^2+ab+b^2$ и.т.д.

Этот подход распространяется и на уравнение $x^2+pxy+qy^2=z^k$, где $p,q$ заданные целые числа.

 Профиль  
                  
 
 Re: множество, где многочлен вычисляет точный квадрат
Сообщение11.10.2017, 22:12 
Аватара пользователя


17/04/11
658
Ukraine
Shadow в сообщении #1254292 писал(а):
Все не получится, их бесконечно много.

Счётное множество. Алгоритм в данном случае есть автомат.

-- Wed Oct 11, 2017 23:08:57 --

Всем спасибо за ответы. Однако я ничего не понял, так как не разбираюсь в алгебраической теории чисел. Я решил задачу, не привлекая продвинутых методов.

 Профиль  
                  
 
 Re: множество, где многочлен вычисляет точный квадрат
Сообщение11.10.2017, 23:13 
Аватара пользователя


17/04/11
658
Ukraine
Насколько я понял, задача не сложная, и для неё есть теория.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 11 ] 

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group