SOLVES "a*u+b*v=N"-EQUALITY Files : dioph.9xz, dioph.89z Type : Maths, Assembly (compiled by TIGCC) Author : Rémi Denis-Courmont e-mail : rdenis@multimania.com Size : 1,8 Kbyte Plateform : TI-92(+) and TI-89 Description: This program can solve a*u+b*v=N where a and b are unknown integers while u, v and N are given integers. Its syntax is very similar to solve()'s one. Date : last-updated on June 2th 2001. Installing ----------- Send either dioph.89z to your TI-89, or dioph.9xz to your TI-92(+), into the folder you wish. Usage ------ Example: Let's solve: 23x+47y=5 To do so, type: dioph(23x+47y=5,{x,y}) + [Enter] As you can notice, the first parameter is the equation which you we want to solve. The second one tells the program "who" the unknown are. They must always be two variables names in that list. The calculator quickly replies: x = -47*@n1 - 10 and y = 23*@n1 + 5 where @n1 is an arbitrary integer (depending on your calc's state, its number may be different from "1". Use NewProb to re-init the counter). You may want the arbitray int to have a particular name. In such a case, do as follow: dioph(23x-5=-47y,{x,y},k) + [Enter] which displays: x = -47*k - 10 and y = 23*k + 5 as expected. Liability ---------- These files are provided "as is", without any warranty of any kind. Neither Texas Instruments, nor the author of these files may be responsible for any direct or indirect, expectable or unexpectable, expected or unexpected consequence of their use and/or alteration. Redistributing --------------- Renting, lending, selling and buying any of the files provided with this text, any part of them, or any data which needed their alteration, on any kind of support are strictly forbidden without explicit authorization from: Rémi Denis-Courmont . You may copy and redistribute these files for free, as you wish. However, I would like to be told by e-mail if you want to publish these files on a website. Thanks in advance. Moreover, I would consequently be able to send you any update. This text and the files which are provided with it are the exclusive intellectual property of Rémi Denis-Courmont. Known bugs ----------- * This program returns unreliable results if the specified values for u, v and/or N are too big. To avoid troubles, please keep using numbers so that: |u*v*N| < 2^31 * This program returns an argument error if the equation has parameter (ie. not only integers apart from the unknowns) or non-integer number. Please tell me if you find any other bug. Rémi Denis-Courmont rdenis@multimania.com http://rdenis.multimania.com/ PS: apologies for my poor english.