1.12. The method for solving au + bv = gcd(a, b) described in Section 1.2 is some- what inefficient. This exercise describes a method to compute u and v that is well suited for computer implementation. In particular, it uses very little storage. (a) Show that the following algorithm computes the greatest common divisor g of the positive integers a and b, together with a solution (u, v) in integers to the equation au + bv = gcd(a, b). 1. Set u = 1, g = a, x=0, and y = b 2. If y = 0, set v = (g- au)/b and return the values (g, u, v) 3. Divide g by y with remainder, g = qy+t, with 0≤ 0. Modify your program so that it returns a solution with u > 0 and u as small as possible. [Hint. If (u, v) is a solution, then so is (u+b/g, v-a/g).] Redo (c) using your modified program.

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question
1.12. The method for solving au + bv = gcd(a, b) described in Section 1.2 is some-
what inefficient. This exercise describes a method to compute u and v that is well
suited for computer implementation. In particular, it uses very little storage.
(a) Show that the following algorithm computes the greatest common divisor g of
the positive integers a and b, together with a solution (u, v) in integers to the
equation au + bv = gcd(a, b).
1. Set u = 1, g = a, x=0, and y = b
2. If y = 0, set v = (g- au)/b and return the values (g, u, v)
3. Divide g by y with remainder, g = qy+t, with 0≤<t<y
4. Set s = uqx
5. Set ux and g = y
6. Set xs and y = t
7. Go To Step (2)
(b) Implement the above algorithm on a computer using the computer language of
your choice.
(c) Use your program to compute g
-
gcd(a, b) and integer solutions to the equa-
tion au + bv = g for the following pairs (a, b).
(527, 1258)
(228, 1056)
(i)
(ii)
(iii)
(163961, 167181)
(iv) (3892394, 239847)
(d) What happens to your program if b = 0? Fix the program so that it deals with
this case correctly.
(e) It is often useful to have a solution with u > 0. Modify your program so that
it returns a solution with u > 0 and u as small as possible. [Hint. If (u, v) is a
solution, then so is (u+b/g, v-a/g).] Redo (c) using your modified program.
Transcribed Image Text:1.12. The method for solving au + bv = gcd(a, b) described in Section 1.2 is some- what inefficient. This exercise describes a method to compute u and v that is well suited for computer implementation. In particular, it uses very little storage. (a) Show that the following algorithm computes the greatest common divisor g of the positive integers a and b, together with a solution (u, v) in integers to the equation au + bv = gcd(a, b). 1. Set u = 1, g = a, x=0, and y = b 2. If y = 0, set v = (g- au)/b and return the values (g, u, v) 3. Divide g by y with remainder, g = qy+t, with 0≤<t<y 4. Set s = uqx 5. Set ux and g = y 6. Set xs and y = t 7. Go To Step (2) (b) Implement the above algorithm on a computer using the computer language of your choice. (c) Use your program to compute g - gcd(a, b) and integer solutions to the equa- tion au + bv = g for the following pairs (a, b). (527, 1258) (228, 1056) (i) (ii) (iii) (163961, 167181) (iv) (3892394, 239847) (d) What happens to your program if b = 0? Fix the program so that it deals with this case correctly. (e) It is often useful to have a solution with u > 0. Modify your program so that it returns a solution with u > 0 and u as small as possible. [Hint. If (u, v) is a solution, then so is (u+b/g, v-a/g).] Redo (c) using your modified program.
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 3 steps with 4 images

Blurred answer
Knowledge Booster
Time complexity
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education