<rss xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" version="2.0">
  <channel>
    <title>MaplePrimes - answers and comments on Question, Help with procedures needed asap!</title>
    <link>http://www.mapleprimes.com/questions/141437-Help-With-Procedures-Needed-Asap</link>
    <language>en-us</language>
    <copyright>2026 Maplesoft, A Division of Waterloo Maple Inc.</copyright>
    <generator>Maplesoft Document System</generator>
    <lastBuildDate>Tue, 09 Jun 2026 09:29:01 GMT</lastBuildDate>
    <pubDate>Tue, 09 Jun 2026 09:29:01 GMT</pubDate>
    <itunes:subtitle />
    <itunes:summary />
    <description>The latest answers and comments added to the Question, Help with procedures needed asap!</description>
    <image>
      <url>http://www.mapleprimes.com/images/mapleprimeswhite.jpg</url>
      <title>MaplePrimes - answers and comments on Question, Help with procedures needed asap!</title>
      <link>http://www.mapleprimes.com/questions/141437-Help-With-Procedures-Needed-Asap</link>
    </image>
    <item>
      <title>Example</title>
      <link>http://www.mapleprimes.com/questions/141437-Help-With-Procedures-Needed-Asap?ref=Feed:MaplePrimes:Help with procedures needed asap!:Comments#answer141446</link>
      <itunes:summary>&lt;p&gt;restart;&lt;br&gt;for a from 0.1e-1 by 0.1e-1 to 7.11 do &lt;br&gt;for b from 0.1e-1 by 0.1e-1 to 7.11 do&lt;br&gt;&amp;nbsp;if (abs(a+b-7.11) &amp;lt; 0.2e-1 and abs(a*b-7.11) &amp;lt; 0.2e-1)&lt;br&gt;&amp;nbsp;then print(a, b, a+b, a*b) end if &lt;br&gt;end do &lt;br&gt;end do;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1.20, 5.91, 7.11, 7.0920&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1.20, 5.92, 7.12, 7.1040&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1.21, 5.89, 7.10, 7.1269&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5.89, 1.21, 7.10, 7.1269&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5.91, 1.20, 7.11, 7.0920&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5.92, 1.20, 7.12, 7.1040&lt;br&gt;&lt;br&gt;&lt;/p&gt;</itunes:summary>
      <description>&lt;p&gt;restart;&lt;br&gt;for a from 0.1e-1 by 0.1e-1 to 7.11 do &lt;br&gt;for b from 0.1e-1 by 0.1e-1 to 7.11 do&lt;br&gt;&amp;nbsp;if (abs(a+b-7.11) &amp;lt; 0.2e-1 and abs(a*b-7.11) &amp;lt; 0.2e-1)&lt;br&gt;&amp;nbsp;then print(a, b, a+b, a*b) end if &lt;br&gt;end do &lt;br&gt;end do;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1.20, 5.91, 7.11, 7.0920&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1.20, 5.92, 7.12, 7.1040&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1.21, 5.89, 7.10, 7.1269&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5.89, 1.21, 7.10, 7.1269&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5.91, 1.20, 7.11, 7.0920&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5.92, 1.20, 7.12, 7.1040&lt;br&gt;&lt;br&gt;&lt;/p&gt;</description>
      <guid>141446</guid>
      <pubDate>Fri, 14 Dec 2012 00:18:33 Z</pubDate>
      <itunes:author>Markiyan Hirnyk</itunes:author>
      <author>Markiyan Hirnyk</author>
    </item>
    <item>
      <title>problems in your proc</title>
      <link>http://www.mapleprimes.com/questions/141437-Help-With-Procedures-Needed-Asap?ref=Feed:MaplePrimes:Help with procedures needed asap!:Comments#answer141459</link>
      <itunes:summary>&lt;p&gt;1. main suggestion: use indentation to make sure every "if" has an "end if;" and every "do" has an "end do;"&lt;br&gt;2. don't forget to place an : or ; after each execution group&lt;br&gt;3. don't use protected symbols, like sum, product, add, etc..&lt;br&gt;4. no colon or semicolor after proc(), but instead after the locals are declared.&lt;br&gt;5. debug/test your proc by checking what each line does, this can be done by commenting out and using print or returning the current value&lt;/p&gt;
&lt;p&gt;sum := 1;&lt;br&gt;Error, attempting to assign to `sum` which is protected&lt;/p&gt;
&lt;p&gt;To illustrate indenting and debugging, consider:&lt;/p&gt;
&lt;p&gt;myproc := proc()&lt;br&gt; local a,b,c,d,i,j,k,s,p,l,r,u;&lt;br&gt;r:=7.11: u:=0.1: # for debugging purposes, change the values here&lt;br&gt; for i by u to r do&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;a := i;&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; for j by u to r do&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;b := j;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for k by u to r do&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;s := a+b+c+d;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; p := a*b*c*d;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;c := k;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;d := r-a-b-c;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if p=s and s=r then&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;print(`When a=`,a,`b=`,b,`c=`,c,`and d=`,d);&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;print(`a+b+c+d=a*b*c*d=r`);&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else print("not working") # testing here&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;end if;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;end do;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;end do;&lt;br&gt; end do;&lt;br&gt;end proc:&lt;br&gt;&lt;br&gt;myproc();&lt;br&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;Markiyan showed you how to get the results.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</itunes:summary>
      <description>&lt;p&gt;1. main suggestion: use indentation to make sure every "if" has an "end if;" and every "do" has an "end do;"&lt;br&gt;2. don't forget to place an : or ; after each execution group&lt;br&gt;3. don't use protected symbols, like sum, product, add, etc..&lt;br&gt;4. no colon or semicolor after proc(), but instead after the locals are declared.&lt;br&gt;5. debug/test your proc by checking what each line does, this can be done by commenting out and using print or returning the current value&lt;/p&gt;
&lt;p&gt;sum := 1;&lt;br&gt;Error, attempting to assign to `sum` which is protected&lt;/p&gt;
&lt;p&gt;To illustrate indenting and debugging, consider:&lt;/p&gt;
&lt;p&gt;myproc := proc()&lt;br&gt; local a,b,c,d,i,j,k,s,p,l,r,u;&lt;br&gt;r:=7.11: u:=0.1: # for debugging purposes, change the values here&lt;br&gt; for i by u to r do&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;a := i;&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; for j by u to r do&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;b := j;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for k by u to r do&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;s := a+b+c+d;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; p := a*b*c*d;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;c := k;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;d := r-a-b-c;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if p=s and s=r then&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;print(`When a=`,a,`b=`,b,`c=`,c,`and d=`,d);&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;print(`a+b+c+d=a*b*c*d=r`);&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else print("not working") # testing here&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;end if;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;end do;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;end do;&lt;br&gt; end do;&lt;br&gt;end proc:&lt;br&gt;&lt;br&gt;myproc();&lt;br&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;Markiyan showed you how to get the results.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <guid>141459</guid>
      <pubDate>Fri, 14 Dec 2012 09:51:34 Z</pubDate>
      <itunes:author>PatrickT</itunes:author>
      <author>PatrickT</author>
    </item>
    <item>
      <title>Solution of the problem</title>
      <link>http://www.mapleprimes.com/questions/141437-Help-With-Procedures-Needed-Asap?ref=Feed:MaplePrimes:Help with procedures needed asap!:Comments#answer141479</link>
      <itunes:summary>&lt;p&gt;Because your system contains two redundant unknowns is easy to check that it has infinitely many solutions in four-dimensional space. But you do not look for solutions in the whole space, and on a discrete finite set&amp;nbsp; &lt;strong&gt;a=0.01&amp;nbsp;... 7.11&lt;/strong&gt; by &lt;strong&gt;0.01&amp;nbsp;&lt;/strong&gt; and so on. I think that there does not exist exact solutions on this set.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;Natural formulation of the problem: on a given set of numbers to find a quartet &amp;nbsp;&lt;strong&gt;[a, b, c, d]&lt;/strong&gt; , for which the left-hand sides of the system have the least differencies from the right-hand sides. As a measure of the difference consider&amp;nbsp;&lt;strong&gt; (7.11-(a+b+c+d))^2+(7.11-a*b*c*d)^2 &lt;/strong&gt;. The procedure consists of two stages. To speed up work on the first stage we consider the wider step=0.1, and step=0.01 on the second stage near the optimum point of the &amp;nbsp;first stage.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;restart:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;R:=[infinity, []]:&amp;nbsp; # &lt;/strong&gt;First stage&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;for a from 0.1 by 0.1 to 7.11 do&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;for b from a by 0.1 to 7.11 do&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;for c from b by 0.1 to 7.11 do&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;for d from c by 0.1 to 7.11 do&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;delta:=(7.11-(a+b+c+d))^2+(7.11-a*b*c*d)^2;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;if delta&amp;lt;0.01 and delta&amp;lt;R[1] then R:=[delta, [a, b, c, d]]: fi:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;od: od: od: od:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;R;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;a0:=R[2,1]: b0:=R[2,2]: c0:=R[2,3]: d0:=R[2,4]:&amp;nbsp; # &lt;/strong&gt;Second stage&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;for a from a0-0.09 by 0.01 to a0+0.09 do&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;for b from b0-0.09 by 0.01 to b0+0.09 do&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;for c from c0-0.09 by 0.01 to c0+0.09 do&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;for d from d0-0.09 by 0.01 to d0+0.09 do&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;delta:=(7.11-(a+b+c+d))^2+(7.11-a*b*c*d)^2;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;if delta&amp;lt;R[1] then R:=[delta, [a, b, c, d]]: fi:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;od: od: od: od:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;R;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; [.11296e-3, [.8, 1.8, 1.9, 2.6]]&amp;nbsp; # Result of the first stage&lt;/p&gt;
&lt;p&gt;&amp;nbsp; [.266342400e-7, [.80, 1.76, 1.92, 2.63]]&amp;nbsp; # Result of the second stage&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Verification:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;7.11-convert([.80, 1.76, 1.92, 2.63],`+`);&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;7.11-convert([.80, 1.76, 1.92, 2.63],`*`);&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.00016320&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;</itunes:summary>
      <description>&lt;p&gt;Because your system contains two redundant unknowns is easy to check that it has infinitely many solutions in four-dimensional space. But you do not look for solutions in the whole space, and on a discrete finite set&amp;nbsp; &lt;strong&gt;a=0.01&amp;nbsp;... 7.11&lt;/strong&gt; by &lt;strong&gt;0.01&amp;nbsp;&lt;/strong&gt; and so on. I think that there does not exist exact solutions on this set.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;Natural formulation of the problem: on a given set of numbers to find a quartet &amp;nbsp;&lt;strong&gt;[a, b, c, d]&lt;/strong&gt; , for which the left-hand sides of the system have the least differencies from the right-hand sides. As a measure of the difference consider&amp;nbsp;&lt;strong&gt; (7.11-(a+b+c+d))^2+(7.11-a*b*c*d)^2 &lt;/strong&gt;. The procedure consists of two stages. To speed up work on the first stage we consider the wider step=0.1, and step=0.01 on the second stage near the optimum point of the &amp;nbsp;first stage.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;restart:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;R:=[infinity, []]:&amp;nbsp; # &lt;/strong&gt;First stage&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;for a from 0.1 by 0.1 to 7.11 do&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;for b from a by 0.1 to 7.11 do&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;for c from b by 0.1 to 7.11 do&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;for d from c by 0.1 to 7.11 do&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;delta:=(7.11-(a+b+c+d))^2+(7.11-a*b*c*d)^2;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;if delta&amp;lt;0.01 and delta&amp;lt;R[1] then R:=[delta, [a, b, c, d]]: fi:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;od: od: od: od:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;R;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;a0:=R[2,1]: b0:=R[2,2]: c0:=R[2,3]: d0:=R[2,4]:&amp;nbsp; # &lt;/strong&gt;Second stage&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;for a from a0-0.09 by 0.01 to a0+0.09 do&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;for b from b0-0.09 by 0.01 to b0+0.09 do&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;for c from c0-0.09 by 0.01 to c0+0.09 do&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;for d from d0-0.09 by 0.01 to d0+0.09 do&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;delta:=(7.11-(a+b+c+d))^2+(7.11-a*b*c*d)^2;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;if delta&amp;lt;R[1] then R:=[delta, [a, b, c, d]]: fi:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;od: od: od: od:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;R;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; [.11296e-3, [.8, 1.8, 1.9, 2.6]]&amp;nbsp; # Result of the first stage&lt;/p&gt;
&lt;p&gt;&amp;nbsp; [.266342400e-7, [.80, 1.76, 1.92, 2.63]]&amp;nbsp; # Result of the second stage&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Verification:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;7.11-convert([.80, 1.76, 1.92, 2.63],`+`);&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;7.11-convert([.80, 1.76, 1.92, 2.63],`*`);&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.00016320&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;</description>
      <guid>141479</guid>
      <pubDate>Fri, 14 Dec 2012 23:15:24 Z</pubDate>
      <itunes:author>Kitonum</itunes:author>
      <author>Kitonum</author>
    </item>
    <item>
      <title>Exact solution</title>
      <link>http://www.mapleprimes.com/questions/141437-Help-With-Procedures-Needed-Asap?ref=Feed:MaplePrimes:Help with procedures needed asap!:Comments#answer141499</link>
      <itunes:summary>&lt;p&gt;&lt;span class="hps"&gt;Found an error in&lt;/span&gt;&amp;nbsp;&lt;span class="hps"&gt;my previous solution&lt;/span&gt;&lt;span&gt;.&lt;/span&gt; &lt;span class="hps"&gt;Offer exact &lt;/span&gt;&lt;span class="hps"&gt;solution found&lt;/span&gt; &lt;span class="hps"&gt;by&lt;/span&gt; &lt;span class="hps"&gt;the exhaustive search&lt;/span&gt;&lt;span&gt;, pre&lt;/span&gt; &lt;span class="hps"&gt;considerably&lt;/span&gt; &lt;span class="hps"&gt;narrowed&lt;/span&gt; &lt;span class="hps"&gt;the search area.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="hps"&gt;Rewrite&lt;/span&gt; &lt;span class="hps"&gt;the system as follows &lt;strong&gt;{a+b=7.11-c-d, a*b=7.11/c/d}&lt;/strong&gt; . Therefore, for&amp;nbsp; the specified values ​​of&amp;nbsp; &lt;strong&gt;c&lt;/strong&gt; &amp;nbsp;and&amp;nbsp; &lt;strong&gt;d&lt;/strong&gt; , the values &amp;nbsp;&lt;strong&gt;a &lt;/strong&gt;&amp;nbsp;and &amp;nbsp;&lt;strong&gt;b &lt;/strong&gt;&amp;nbsp;satisfy the quadratic equation&amp;nbsp; &lt;strong&gt;z^2+(c+d-7,11)*z+7,11/c/d=0 . &lt;/strong&gt;Discriminant is equal to&amp;nbsp; &lt;strong&gt;(c+d-7.11)^2-4*7.11/c/d&amp;nbsp;&amp;gt;=0 .&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="hps"&gt;Build the domain:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;plots[implicitplot]([c*d*(c+d-7.11)^2-4*7.11, c+d=7.11], color=[red, blue],c=0..7.11, d=0..7.11, numpoints=10000);&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/view.aspx?sf=141499/450087/plot.jpg"&gt;&lt;img src="/view.aspx?sf=141499/450087/plot.jpg" alt=""&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="hps"&gt;It is clearly seen&lt;/span&gt; &lt;span class="hps"&gt;that each&lt;/span&gt; &lt;span class="hps"&gt;variable must&lt;/span&gt; &lt;span class="hps"&gt;be in the range&lt;/span&gt;&amp;nbsp;&lt;strong&gt; 0.7..3.2&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;restart;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;R:=[infinity, []]: &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;for a from 0.7 by 0.01 to 7.11/4 do &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;for b from a by 0.01 to (7.11-a)/3 do &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;for c from b by 0.01 to (7.11-a-b)/2 do &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;for d from c by 0.01 to min(3.2,7.11-a-b-c) do &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;delta:=(7.11-(a+b+c+d))^2+(7.11-a*b*c*d)^2; &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;if delta&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;od: od: od: od: &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [0., [1.20, 1.25, 1.50, 3.16]]&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;R;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</itunes:summary>
      <description>&lt;p&gt;&lt;span class="hps"&gt;Found an error in&lt;/span&gt;&amp;nbsp;&lt;span class="hps"&gt;my previous solution&lt;/span&gt;&lt;span&gt;.&lt;/span&gt; &lt;span class="hps"&gt;Offer exact &lt;/span&gt;&lt;span class="hps"&gt;solution found&lt;/span&gt; &lt;span class="hps"&gt;by&lt;/span&gt; &lt;span class="hps"&gt;the exhaustive search&lt;/span&gt;&lt;span&gt;, pre&lt;/span&gt; &lt;span class="hps"&gt;considerably&lt;/span&gt; &lt;span class="hps"&gt;narrowed&lt;/span&gt; &lt;span class="hps"&gt;the search area.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="hps"&gt;Rewrite&lt;/span&gt; &lt;span class="hps"&gt;the system as follows &lt;strong&gt;{a+b=7.11-c-d, a*b=7.11/c/d}&lt;/strong&gt; . Therefore, for&amp;nbsp; the specified values ​​of&amp;nbsp; &lt;strong&gt;c&lt;/strong&gt; &amp;nbsp;and&amp;nbsp; &lt;strong&gt;d&lt;/strong&gt; , the values &amp;nbsp;&lt;strong&gt;a &lt;/strong&gt;&amp;nbsp;and &amp;nbsp;&lt;strong&gt;b &lt;/strong&gt;&amp;nbsp;satisfy the quadratic equation&amp;nbsp; &lt;strong&gt;z^2+(c+d-7,11)*z+7,11/c/d=0 . &lt;/strong&gt;Discriminant is equal to&amp;nbsp; &lt;strong&gt;(c+d-7.11)^2-4*7.11/c/d&amp;nbsp;&amp;gt;=0 .&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="hps"&gt;Build the domain:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;plots[implicitplot]([c*d*(c+d-7.11)^2-4*7.11, c+d=7.11], color=[red, blue],c=0..7.11, d=0..7.11, numpoints=10000);&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/view.aspx?sf=141499/450087/plot.jpg"&gt;&lt;img src="/view.aspx?sf=141499/450087/plot.jpg" alt=""&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="hps"&gt;It is clearly seen&lt;/span&gt; &lt;span class="hps"&gt;that each&lt;/span&gt; &lt;span class="hps"&gt;variable must&lt;/span&gt; &lt;span class="hps"&gt;be in the range&lt;/span&gt;&amp;nbsp;&lt;strong&gt; 0.7..3.2&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;restart;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;R:=[infinity, []]: &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;for a from 0.7 by 0.01 to 7.11/4 do &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;for b from a by 0.01 to (7.11-a)/3 do &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;for c from b by 0.01 to (7.11-a-b)/2 do &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;for d from c by 0.01 to min(3.2,7.11-a-b-c) do &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;delta:=(7.11-(a+b+c+d))^2+(7.11-a*b*c*d)^2; &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;if delta&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;od: od: od: od: &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [0., [1.20, 1.25, 1.50, 3.16]]&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;R;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <guid>141499</guid>
      <pubDate>Sat, 15 Dec 2012 09:58:42 Z</pubDate>
      <itunes:author>Kitonum</itunes:author>
      <author>Kitonum</author>
    </item>
    <item>
      <title>Use elementary number theory</title>
      <link>http://www.mapleprimes.com/questions/141437-Help-With-Procedures-Needed-Asap?ref=Feed:MaplePrimes:Help with procedures needed asap!:Comments#answer141506</link>
      <itunes:summary>&lt;p&gt;Here's another solution, which uses elementary number theory (in particular the Fundamental Theorem of Arithmetic) to substantially reduce the search space, and thus get the answer in under 0.1 seconds.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;restart;&lt;/strong&gt;&lt;br&gt;&lt;strong&gt;st:= time():&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;If we multiply each of &lt;em&gt;a,b,c,d&lt;/em&gt; by 100, then the sum is 711, and the product is&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;N:= 711*100^3:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;and now the problem is strictly about positive integers. Henceforth, &lt;em&gt;a,b,c,d&lt;/em&gt; will only refer to these integerized values.&lt;/p&gt;
&lt;p&gt;Each of &lt;em&gt;a,b,c,d&lt;/em&gt; must be a divisor of &lt;strong&gt;N&lt;/strong&gt;, so let's look at the prime factorization of &lt;strong&gt;N&lt;/strong&gt;:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;ifactor(N);&lt;/strong&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 6&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&amp;nbsp;&amp;nbsp;&amp;nbsp; 6&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (2)&amp;nbsp; (3)&amp;nbsp; (5)&amp;nbsp; (79)&lt;/p&gt;
&lt;p&gt;There is a prime factor that only appears to the first power. That will speed this up a lot. Let's get the divisors of &lt;strong&gt;N&lt;/strong&gt;, which will be our search space.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;divs:= numtheory:-divisors(N):&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Since the sum is 711, we restrict the search to divisors less than 711.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;divs:= select(`\&amp;lt;`, divs, 711)&lt;br&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;(Ignore the backslash in the above line. Maple ignores it, and the MaplePrimes editor in my web browser won't display the rest of the line without it.)&lt;strong&gt;&lt;br&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Exactly one of &lt;em&gt;a,b,c,d&lt;/em&gt; must be a multiple of 79---we'll make it &lt;em&gt;a&lt;/em&gt;---so we partition the remaining divisors based on that.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;d79, divs:= selectremove(x-&amp;gt; x mod 79 = 0, divs):&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Now loop through these sets. After each &lt;em&gt;x&lt;/em&gt; is chosen, the remaining solutions must divide &lt;strong&gt;N&lt;/strong&gt;&lt;em&gt;/x&lt;/em&gt;, so we reduce the search space accordingly in each inner loop.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;proc()&lt;/strong&gt;&lt;br&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;local Na, divsa, divsb, Nb, a, b, c, d, sol;&lt;/strong&gt;&lt;br&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; for a in d79 do&lt;/strong&gt;&lt;br&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Na:= N/a;&lt;/strong&gt;&lt;br&gt;&lt;strong&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; divsa:= divs intersect numtheory:-divisors(Na);&lt;/strong&gt;&lt;br&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for b in divsa do&lt;/strong&gt;&lt;br&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; Nb:= Na/b;&lt;/strong&gt;&lt;br&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; divsb:= divsa intersect numtheory:-divisors(Nb);&lt;/strong&gt;&lt;br&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for c in divsb do&lt;/strong&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;strong&gt;if a+b+c+Nb/c = 711 then sol[a,b,c]:= {a,b,c,Nb/c} fi&lt;/strong&gt;&lt;br&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; od&lt;/strong&gt;&lt;br&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; od&lt;/strong&gt;&lt;br&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; od;&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; convert(sol, set)&lt;/strong&gt;&lt;br&gt;&lt;strong&gt;end proc&lt;/strong&gt;&lt;br&gt;&lt;strong&gt;();&lt;/strong&gt; &lt;br&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { {120, 125, 150, 316} }&lt;/p&gt;
&lt;p&gt;Finally, divide each of those by 100 to get the desired answers. I put each solution in a set so that permutations would be condensed. If there was a solution with repeated values, it would appear as a set with fewer than four members, and we'd have to do a little work to figure out which values were repeated. But, there is no such solution.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;time()-st;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.031&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In a separate run, I counted the number of executions of the innermost loop. It was 8520. I also tried the above without separating the multiple-of-79 divisors as special. Then I got 58,938 iterations in 0.109 seconds, so maybe it wasn't worth it to separate them.&lt;/p&gt;
&lt;p&gt;A note on coding style: I use an anonymous procedure above,&lt;em&gt; i.e.&lt;/em&gt; a procdeure with no name. I invoke the procedure immediately by placing &lt;strong&gt;()&lt;/strong&gt; after its definition.&lt;/p&gt;</itunes:summary>
      <description>&lt;p&gt;Here's another solution, which uses elementary number theory (in particular the Fundamental Theorem of Arithmetic) to substantially reduce the search space, and thus get the answer in under 0.1 seconds.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;restart;&lt;/strong&gt;&lt;br&gt;&lt;strong&gt;st:= time():&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;If we multiply each of &lt;em&gt;a,b,c,d&lt;/em&gt; by 100, then the sum is 711, and the product is&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;N:= 711*100^3:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;and now the problem is strictly about positive integers. Henceforth, &lt;em&gt;a,b,c,d&lt;/em&gt; will only refer to these integerized values.&lt;/p&gt;
&lt;p&gt;Each of &lt;em&gt;a,b,c,d&lt;/em&gt; must be a divisor of &lt;strong&gt;N&lt;/strong&gt;, so let's look at the prime factorization of &lt;strong&gt;N&lt;/strong&gt;:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;ifactor(N);&lt;/strong&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 6&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&amp;nbsp;&amp;nbsp;&amp;nbsp; 6&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (2)&amp;nbsp; (3)&amp;nbsp; (5)&amp;nbsp; (79)&lt;/p&gt;
&lt;p&gt;There is a prime factor that only appears to the first power. That will speed this up a lot. Let's get the divisors of &lt;strong&gt;N&lt;/strong&gt;, which will be our search space.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;divs:= numtheory:-divisors(N):&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Since the sum is 711, we restrict the search to divisors less than 711.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;divs:= select(`\&amp;lt;`, divs, 711)&lt;br&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;(Ignore the backslash in the above line. Maple ignores it, and the MaplePrimes editor in my web browser won't display the rest of the line without it.)&lt;strong&gt;&lt;br&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Exactly one of &lt;em&gt;a,b,c,d&lt;/em&gt; must be a multiple of 79---we'll make it &lt;em&gt;a&lt;/em&gt;---so we partition the remaining divisors based on that.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;d79, divs:= selectremove(x-&amp;gt; x mod 79 = 0, divs):&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Now loop through these sets. After each &lt;em&gt;x&lt;/em&gt; is chosen, the remaining solutions must divide &lt;strong&gt;N&lt;/strong&gt;&lt;em&gt;/x&lt;/em&gt;, so we reduce the search space accordingly in each inner loop.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;proc()&lt;/strong&gt;&lt;br&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;local Na, divsa, divsb, Nb, a, b, c, d, sol;&lt;/strong&gt;&lt;br&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; for a in d79 do&lt;/strong&gt;&lt;br&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Na:= N/a;&lt;/strong&gt;&lt;br&gt;&lt;strong&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; divsa:= divs intersect numtheory:-divisors(Na);&lt;/strong&gt;&lt;br&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for b in divsa do&lt;/strong&gt;&lt;br&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; Nb:= Na/b;&lt;/strong&gt;&lt;br&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; divsb:= divsa intersect numtheory:-divisors(Nb);&lt;/strong&gt;&lt;br&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for c in divsb do&lt;/strong&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;strong&gt;if a+b+c+Nb/c = 711 then sol[a,b,c]:= {a,b,c,Nb/c} fi&lt;/strong&gt;&lt;br&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; od&lt;/strong&gt;&lt;br&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; od&lt;/strong&gt;&lt;br&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; od;&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; convert(sol, set)&lt;/strong&gt;&lt;br&gt;&lt;strong&gt;end proc&lt;/strong&gt;&lt;br&gt;&lt;strong&gt;();&lt;/strong&gt; &lt;br&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { {120, 125, 150, 316} }&lt;/p&gt;
&lt;p&gt;Finally, divide each of those by 100 to get the desired answers. I put each solution in a set so that permutations would be condensed. If there was a solution with repeated values, it would appear as a set with fewer than four members, and we'd have to do a little work to figure out which values were repeated. But, there is no such solution.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;time()-st;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.031&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In a separate run, I counted the number of executions of the innermost loop. It was 8520. I also tried the above without separating the multiple-of-79 divisors as special. Then I got 58,938 iterations in 0.109 seconds, so maybe it wasn't worth it to separate them.&lt;/p&gt;
&lt;p&gt;A note on coding style: I use an anonymous procedure above,&lt;em&gt; i.e.&lt;/em&gt; a procdeure with no name. I invoke the procedure immediately by placing &lt;strong&gt;()&lt;/strong&gt; after its definition.&lt;/p&gt;</description>
      <guid>141506</guid>
      <pubDate>Sat, 15 Dec 2012 17:25:23 Z</pubDate>
      <itunes:author>Carl Love</itunes:author>
      <author>Carl Love</author>
    </item>
    <item>
      <title>Improvement</title>
      <link>http://www.mapleprimes.com/questions/141437-Help-With-Procedures-Needed-Asap?ref=Feed:MaplePrimes:Help with procedures needed asap!:Comments#comment141450</link>
      <itunes:summary>&lt;p&gt;restart;&lt;br&gt;for a from 0.1e-1 by 0.1e-1 to 7.11 do &lt;br&gt;for b from a by 0.1e-1 to 7.11 do&lt;br&gt;&amp;nbsp;if (abs(a+b-7.11) &amp;lt; 0.2e-1 and abs(a*b-7.11) &amp;lt; 0.2e-1)&lt;br&gt;&amp;nbsp;then print(a, b, a+b, a*b) end if &lt;br&gt;end do &lt;br&gt;end do;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1.20, 5.91, 7.11, 7.0920&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1.20, 5.92, 7.12, 7.1040&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1.21, 5.89, 7.10, 7.1269&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;/p&gt;</itunes:summary>
      <description>&lt;p&gt;restart;&lt;br&gt;for a from 0.1e-1 by 0.1e-1 to 7.11 do &lt;br&gt;for b from a by 0.1e-1 to 7.11 do&lt;br&gt;&amp;nbsp;if (abs(a+b-7.11) &amp;lt; 0.2e-1 and abs(a*b-7.11) &amp;lt; 0.2e-1)&lt;br&gt;&amp;nbsp;then print(a, b, a+b, a*b) end if &lt;br&gt;end do &lt;br&gt;end do;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1.20, 5.91, 7.11, 7.0920&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1.20, 5.92, 7.12, 7.1040&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1.21, 5.89, 7.10, 7.1269&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;/p&gt;</description>
      <guid>141450</guid>
      <pubDate>Fri, 14 Dec 2012 00:35:59 Z</pubDate>
      <itunes:author>Markiyan Hirnyk</itunes:author>
      <author>Markiyan Hirnyk</author>
    </item>
  </channel>
</rss>