1. 1. Introduction
  2. 2. Project Euler
    ❱
    1. 2.1. Problem 1: Multiples of 3 or 5
      ❱
      1. 2.1.1. Brute force
      2. 2.1.2. Three by three
      3. 2.1.3. Summing everything
      4. 2.1.4. Solution
    2. 2.2. Problem 2: even Fibonacci numbers
      ❱
      1. 2.2.1. Brute force
      2. 2.2.2. Fibonacci recurrence
      3. 2.2.3. Fibonacci and the golden ratio
      4. 2.2.4. Solution
    3. 2.3. Problem 3: Largest prime factor
      ❱
      1. 2.3.1. Brute force
      2. 2.3.2. Two by two
      3. 2.3.3. Solution
    4. 2.4. Problem 4: Largest palindrome product
      ❱
      1. 2.4.1. Brute force
      2. 2.4.2. Factorisation is the key
      3. 2.4.3. With pen and paper
      4. 2.4.4. Solution
    5. 2.5. Problem 5: Smallest multiple
      ❱
      1. 2.5.1. Brute force
      2. 2.5.2. Prime factorization
      3. 2.5.3. Least common multiple
      4. 2.5.4. Solution
    6. 2.6. Problem 6: Sum square difference
      ❱
      1. 2.6.1. Brute force
      2. 2.6.2. Summation formula
      3. 2.6.3. Solution
    7. 2.7. Problem 7: 10001st prime
      ❱
      1. 2.7.1. Brute force
      2. 2.7.2. Almost six by six
      3. 2.7.3. Prime number theorem
      4. 2.7.4. Solution
    8. 2.8. Problem 8: Largest product in a series
      ❱
      1. 2.8.1. Brute force
      2. 2.8.2. 0 are useless
      3. 2.8.3. Solution
    9. 2.9. Problem 9: Special Pythagorean triplet
      ❱
      1. 2.9.1. Brute force
      2. 2.9.2. With a little thought
      3. 2.9.3. Prime Pythagorean triples
      4. 2.9.4. Solution
    10. 2.10. Problem 10: Summation of primes
      ❱
      1. 2.10.1. Brute force
      2. 2.10.2. Summation minus summation
      3. 2.10.3. Dynamic programming
      4. 2.10.4. Solution
    11. 2.11. Problem 11: Largest product in a grid
      ❱
      1. 2.11.1. Brute force
      2. 2.11.2. Solution
    12. 2.12. Problem 12: Highly divisible triangular number
      ❱
      1. 2.12.1. Brute force
      2. 2.12.2. Common factor
      3. 2.12.3. Solution
    13. 2.13. Problem 13: Large sum
      ❱
      1. 2.13.1. Brute force
      2. 2.13.2. Solution
    14. 2.14. Problem 14: Longest Collatz sequence
      ❱
      1. 2.14.1. Brute force
      2. 2.14.2. Caching
      3. 2.14.3. Solution
    15. 2.15. Problem 15: Lattice paths
      ❱
      1. 2.15.1. Brute force
      2. 2.15.2. Dynamic programming
      3. 2.15.3. Combination
      4. 2.15.4. Solution
    16. 2.16. Problem 16: Power digit sum
      ❱
      1. 2.16.1. Brute force
      2. 2.16.2. Solution
    17. 2.17. Problem 17: Number letter counts
      ❱
      1. 2.17.1. Brute force
      2. 2.17.2. Solution
    18. 2.18. Problem 18: Maximum path sum I
      ❱
      1. 2.18.1. Brute force
      2. 2.18.2. Dynamic programming
      3. 2.18.3. Solution
    19. 2.19. Problem 19: Counting Sundays
      ❱
      1. 2.19.1. Brute force
      2. 2.19.2. Solution
    20. 2.20. Problem 20: Factorial digit sum
      ❱
      1. 2.20.1. Brute force
      2. 2.20.2. Solution
    21. 2.21. Problem 21: Amicable numbers
      ❱
      1. 2.21.1. Brute force
      2. 2.21.2. Solution
    22. 2.22. Problem 22: Names scores
      ❱
      1. 2.22.1. Brute force
      2. 2.22.2. Solution
    23. 2.23. Problem 23: Non-abundant sums
      ❱
      1. 2.23.1. Brute force
      2. 2.23.2. Set
      3. 2.23.3. Solution
    24. 2.24. Problem 24: Lexicographic permutations
      ❱
      1. 2.24.1. Brute force
      2. 2.24.2. Maths permutations
      3. 2.24.3. Solution
    25. 2.25. Problem 25: 1000-digit Fibonacci number
      ❱
      1. 2.25.1. Brute force
      2. 2.25.2. Fibonacci convergence
      3. 2.25.3. Solution
    26. 2.26. Problem 26: Reciprocal cycles
      ❱
      1. 2.26.1. Brute force
      2. 2.26.2. Carmichael function
      3. 2.26.3. Solution
    27. 2.27. Problem 27: Quadratic primes
      ❱
      1. 2.27.1. Brute force
      2. 2.27.2. Shorten the intervals
      3. 2.27.3. Lucky numbers of Euler
      4. 2.27.4. Solution
    28. 2.28. Problem 28: Number spiral diagonals
      ❱
      1. 2.28.1. Brute force
      2. 2.28.2. Summation
      3. 2.28.3. Solution
    29. 2.29. Problem 29: Distinct powers
      ❱
      1. 2.29.1. Brute force
      2. 2.29.2. Discarding duplicate
      3. 2.29.3. Solution
    30. 2.30. Problem 30: Digit fifth powers
      ❱
      1. 2.30.1. Brute force
      2. 2.30.2. Search unique combination
      3. 2.30.3. Solution
    31. 2.31. Problem 31: Coin sums
      ❱
      1. 2.31.1. Brute force
      2. 2.31.2. Dynamic programming
      3. 2.31.3. Better dynamic programming
      4. 2.31.4. Solution
    32. 2.32. Problem 32: Pandigital products
      ❱
      1. 2.32.1. Brute force
      2. 2.32.2. Solution
    33. 2.33. Problem 33: Digit cancelling fractions
      ❱
      1. 2.33.1. Brute force
      2. 2.33.2. Solution
    34. 2.34. Problem 34: Digit factorials
      ❱
      1. 2.34.1. Brute force
      2. 2.34.2. Solution
    35. 2.35. Problem 35: Circular primes
      ❱
      1. 2.35.1. Brute force
      2. 2.35.2. 1, 3, 7, 9
      3. 2.35.3. Solution
    36. 2.36. Problem 36: Double-base palindromes
      ❱
      1. 2.36.1. Brute force
      2. 2.36.2. Generating palindromes
      3. 2.36.3. Solution
    37. 2.37. Problem 37: Truncatable primes
      ❱
      1. 2.37.1. Brute force
      2. 2.37.2. Construct them all
      3. 2.37.3. Solution
    38. 2.38. Problem 38: Pandigital multiples
      ❱
      1. 2.38.1. Brute force
      2. 2.38.2. Good old pen and paper
      3. 2.38.3. Solution
    39. 2.39. Problem 39: Integer right triangles
      ❱
      1. 2.39.1. Brute force
      2. 2.39.2. Fewer loops is better
      3. 2.39.3. Even fewer loops
      4. 2.39.4. Tree of primitive Pythagorean triples
      5. 2.39.5. Solution
    40. 2.40. Problem 40: Champernowne's constant
      ❱
      1. 2.40.1. Brute force
      2. 2.40.2. Foreshadowing
      3. 2.40.3. Solution
    41. 2.41. Problem 41: Pandigital prime
      ❱
      1. 2.41.1. Brute force
      2. 2.41.2. Solution
    42. 2.42. Problem 42: Coded triangle numbers
      ❱
      1. 2.42.1. Brute force
      2. 2.42.2. Solution
    43. 2.43. Problem 43: Sub-string divisibility
      ❱
      1. 2.43.1. Brute force
      2. 2.43.2. Generation over iteration
      3. 2.43.3. With pen and paper
      4. 2.43.4. Solution
    44. 2.44. Problem 44: Pentagon numbers
      ❱
      1. 2.44.1. Brute force
      2. 2.44.2. Optimal iteration
      3. 2.44.3. Even better iteration
      4. 2.44.4. Solution
    45. 2.45. Problem 45: Triangular, pentagonal, and hexagonal
      ❱
      1. 2.45.1. Brute force
      2. 2.45.2. Triangular numbers are useless
      3. 2.45.3. Diophantine equations
      4. 2.45.4. Solution
    46. 2.46. Problem 46: Goldbach's other conjecture
      ❱
      1. 2.46.1. Brute force
      2. 2.46.2. Better iteration and caching
      3. 2.46.3. Solution
    47. 2.47. Problem 47: Distinct primes factors
      ❱
      1. 2.47.1. Brute force
      2. 2.47.2. Cache is life
      3. 2.47.3. Good old Sieve
      4. 2.47.4. Solution
    48. 2.48. Problem 48: Self powers
      ❱
      1. 2.48.1. Brute force
      2. 2.48.2. Modulos reduction
      3. 2.48.3. Solution
    49. 2.49. Problem 49: Prime permutations
      ❱
      1. 2.49.1. Brute force
      2. 2.49.2. Primes permutations
      3. 2.49.3. Solution
    50. 2.50. Problem 50: Consecutive prime sum
      ❱
      1. 2.50.1. Brute force
      2. 2.50.2. Cumulative sum
      3. 2.50.3. Solution
    51. 2.51. Problem 51: Prime digit replacements
      ❱
      1. 2.51.1. Brute force
      2. 2.51.2. Simple observations
      3. 2.51.3. Solution
    52. 2.52. Problem 52: Permuted multiples
      ❱
      1. 2.52.1. Brute force
      2. 2.52.2. Observation is insight
      3. 2.52.3. Solution
    53. 2.53. Problem 53: Combinatoric selections
      ❱
      1. 2.53.1. Brute force
      2. 2.53.2. Pascal's Triangle
      3. 2.53.3. Solution
    54. 2.54. Problem 54: Poker hands
      ❱
      1. 2.54.1. Brute force
      2. 2.54.2. Solution
    55. 2.55. Problem 55: Lychrel numbers
      ❱
      1. 2.55.1. Brute force
      2. 2.55.2. Solution
    56. 2.56. Problem 56: Powerful digit sum
      ❱
      1. 2.56.1. Brute force
      2. 2.56.2. Solution
    57. 2.57. Problem 57: Square root convergents
      ❱
      1. 2.57.1. Brute force
      2. 2.57.2. A better recurrence?
      3. 2.57.3. Solution
    58. 2.58. Problem 58: Spiral primes
      ❱
      1. 2.58.1. Brute force
      2. 2.58.2. Solution
    59. 2.59. Problem 59: XOR decryption
      ❱
      1. 2.59.1. Brute force
      2. 2.59.2. Solution
    60. 2.60. Problem 60: Prime pair sets
      ❱
      1. 2.60.1. Brute force
      2. 2.60.2. Clique's graph theory
      3. 2.60.3. Solution
    61. 2.61. Problem 61: Cyclical figurate numbers
      ❱
      1. 2.61.1. Brute force
      2. 2.61.2. Caching polygonal numbers
      3. 2.61.3. Solution
    62. 2.62. Problem 62: Cubic permutations
      ❱
      1. 2.62.1. Brute force
      2. 2.62.2. Iterating and caching
      3. 2.62.3. Solution
    63. 2.63. Problem 63: Powerful digit counts
      ❱
      1. 2.63.1. Brute force
      2. 2.63.2. Back to initial equation
      3. 2.63.3. Solution
    64. 2.64. Problem 64: Odd period square roots
      ❱
      1. 2.64.1. Brute force
      2. 2.64.2. Another property of continued fractions
      3. 2.64.3. Solution
    65. 2.65. Problem 65: Convergents of e
      ❱
      1. 2.65.1. Brute force
      2. 2.65.2. Solution
    66. 2.66. Problem 66: Diophantine equation
      ❱
      1. 2.66.1. Brute force
      2. 2.66.2. Solving Pell's equations
      3. 2.66.3. Solution
    67. 2.67. Problem 67: Maximum path sum II
      ❱
      1. 2.67.1. Brute force
      2. 2.67.2. Solution
    68. 2.68. Problem 68: Magic 5-gon ring
      ❱
      1. 2.68.1. Brute force
      2. 2.68.2. Solution
    69. 2.69. Problem 69: Totient maximum
      ❱
      1. 2.69.1. Brute force
      2. 2.69.2. Caching totients
      3. 2.69.3. Euler's totient function
      4. 2.69.4. Solution
    70. 2.70. Problem 70: Totient permutation
      ❱
      1. 2.70.1. Brute force
      2. 2.70.2. Euler's totient function
      3. 2.70.3. Solution
    71. 2.71. Problem 71: Ordered fractions
      ❱
      1. 2.71.1. Brute force
      2. 2.71.2. Farey sequence
      3. 2.71.3. Solution
    72. 2.72. Problem 72: Counting fractions
      ❱
      1. 2.72.1. Brute force
      2. 2.72.2. Farey sequence and Euler's totient function
      3. 2.72.3. Solution
    73. 2.73. Problem 73: Counting fractions in a range
      ❱
      1. 2.73.1. Brute force
      2. 2.73.2. Solution
    74. 2.74. Problem 74: Digit factorial chains
      ❱
      1. 2.74.1. Brute force
      2. 2.74.2. Caching the chain
      3. 2.74.3. Solution
    75. 2.75. Problem 75: Singular Integer Right Triangles
      ❱
      1. 2.75.1. Tree of primitive Pythagorean triples
      2. 2.75.2. Solution
    76. 2.76. Problem 76: Counting Summations
      ❱
      1. 2.76.1. Dynamic programming
      2. 2.76.2. Solution
    77. 2.77. Problem 77: Prime Summations
      ❱
      1. 2.77.1. Dynamic programming is hidden recursion problem
      2. 2.77.2. Solution
    78. 2.78. Problem 78: Coin Partitions
      ❱
      1. 2.78.1. Dynamic programming
      2. 2.78.2. Euler partition function
      3. 2.78.3. Solution
    79. 2.79. Problem 79: Passcode Derivation
      ❱
      1. 2.79.1. Topological sorting
      2. 2.79.2. Solution
    80. 2.80. Problem 80: Square Root Digital Expansion
      ❱
      1. 2.80.1. Square roots by subtraction
      2. 2.80.2. Solution
    81. 2.81. Problem 81: Path Sum: Two Ways
      ❱
      1. 2.81.1. Dynamic programming
      2. 2.81.2. Solution
    82. 2.82. Problem 82: Path Sum: Three Ways
      ❱
      1. 2.82.1. Dynamic programming
      2. 2.82.2. Solution
    83. 2.83. Problem 83: Path Sum: Four Ways
      ❱
      1. 2.83.1. Breadth-first search
      2. 2.83.2. Dijkstra's algorithm
      3. 2.83.3. Solution
  3. 3. Usage
  4. 4. Contributing

Project Euler

Solution


210