Project Euler/66
From charlesreid1
Problem Statement
Solving Diophantine equations of the form:
Link: https://projecteuler.net/problem=66
Solution Technique
Solving Diophantine equations requires the use of the continued fractions work we did in Problems 64 and 65.
Code
Core algorithm of Problem 66 solution:
public class Problem066 { public static void main(String[] args) { solve(); } public static void solve() { final int DMAX = 1000; BigInteger x = BigInteger.ZERO; // Values of solution x and D at maximum BigInteger xmax = BigInteger.ZERO; int Dmax = 0; for(int D=1; D<=DMAX; D++) { x = ContinuedFractionBig.solvePell(D); if(x.compareTo(xmax)>0) { xmax = x; Dmax = D; } System.out.println("D = "+D+", x = "+x); } System.out.println(Dmax); } }
This uses the ContinuedFractionBig class we already saw in Project Euler/64.
Link: https://git.charlesreid1.com/cs/euler/src/master/scratch/Round2_050-070/066
ContinuedFractionBig class: https://git.charlesreid1.com/cs/euler/src/master/scratch/Round2_050-070/066/ContinuedFractionBig.java
Problem066 class: https://git.charlesreid1.com/cs/euler/src/master/scratch/Round2_050-070/066/Problem066.java
Flags
Project Euler project euler notes
Round 1: Problems 1-20 Problem 1 · Problem 2 · Problem 3 · Problem 4 · Problem 5 · Problem 6 · Problem 7 · Problem 8 · Problem 9 · Problem 10 Problem 11 · Problem 12 · Problem 13 · Problem 14 · Problem 15 · Problem 16 · Problem 17 · Problem 18 · Problem 19 · Problem 20 Round 2: Problems 50-70 Problem 51 · Problem 52 · Problem 53 · Problem 54 · Problem 55 · Problem 56 · Problem 57 · Problem 58 · ... · Problem 61 · Problem 62 · Problem 63 · Problem 64 · Problem 65 · Problem 66 · Problem 67 Round 3: Problems 100-110 Problem 100 · Problem 101 · Problem 102 Round 4: Problems 500-510 Problem 500 · Problem 501 * · Problem 502 * Round 5: Problems 150-160 Round 6: Problems 250-260 Round 7: Problems 170-180
|