Posted 15 Aug 2014 · Report post * * * * * * * * * * * * * * * * The 16 points above lie in a plane on an equilateral triangular lattice. Certain sets of three points of the figure correspond to the vertices of equilateral triangles. Suppose you were to form all of the equilateral triangles possible, such that, for any given equilateral triangle, it must have its three vertices coincide with three of the 16 points. How many total equilateral triangles can be formed this way in the figure? 1 Share this post Link to post Share on other sites
0 Posted 16 Aug 2014 · Report post 25. 17 with unit sides; 7 with 2; 1 with 3. 0 Share this post Link to post Share on other sites
0 Posted 16 Aug 2014 (edited) · Report post bonanova and other users, there are additional equilateral triangles with side lengths different from the correct (so far) three types you gave, and they have different orientations from the ones you listed. This problem is still open. Edited 16 Aug 2014 by Perhaps check it again 0 Share this post Link to post Share on other sites
0 Posted 16 Aug 2014 · Report post 41The largest triangle that fits has sides of length 13^{.5}. Six others types in decreasing order have sides of length 2x3^{.5}, 3, 7^{.5}, 2, 3^{.5} and 1. Of each there seem to be 1, 1, 2, 5, 7, 8 and 17, respectively. Did I miss any? 0 Share this post Link to post Share on other sites
0 Posted 4 Sep 2014 · Report post Wondering whether a solution has been found. 0 Share this post Link to post Share on other sites
0 Posted 4 Sep 2014 (edited) · Report post I get 41. But I cheeted: public class TriangleCount { final int[][] p = { {0, 0}, {2, 0}, {4, 0}, {6, 0}, {1, 1}, {3, 1}, {5, 1}, {7, 1}, {2, 2}, {4, 2}, {6, 2}, {8, 2}, {3, 3}, {5, 3}, {2, 4}, {4, 4}, }; void count() { int count = 0; for (int i = 0; i < p.length; i++) for (int j = i + 1; j < p.length; j++) for (int k = j + 1; k < p.length; k++) { int a = (p[j][0] - p[i][0])*(p[j][0] - p[i][0]) + 3*(p[j][1] - p[i][1])*(p[j][1] - p[i][1]); int b = (p[k][0] - p[j][0])*(p[k][0] - p[j][0]) + 3*(p[k][1] - p[j][1])*(p[k][1] - p[j][1]); int c = (p[i][0] - p[k][0])*(p[i][0] - p[k][0]) + 3*(p[i][1] - p[k][1])*(p[i][1] - p[k][1]); if (a == b && b == c) { count++; System.out.println("Equilateral triangle #" + count + ": i=" + i + " j="+j + " k=" + k); } } } public static void main(String[] args) { new TriangleCount().count(); } } Edited 4 Sep 2014 by witzar 0 Share this post Link to post Share on other sites
0 Posted 4 Sep 2014 · Report post Looks like that's the answer then. Nice. I'm wondering whether that's the optimal configuration for 16 points to generate ETs. I'm also wondering whether the number of ETs increases proportionately faster then the number of points. It's easy to see that adding a 17^{th} point at 6,4 increases the ratio from 2.5625 to 2.70588 (46 ETs.) 0 Share this post Link to post Share on other sites
Posted · Report post
* * * *
* * * *
* * * *
* *
* *
The 16 points above lie in a plane on an equilateral triangular lattice.
Certain sets of three points of the figure correspond to the vertices of equilateral triangles.
Suppose you were to form all of the equilateral triangles possible, such that, for any given
equilateral triangle, it must have its three vertices coincide with three of the 16 points.
How many total equilateral triangles can be formed this way in the figure?
Share this post
Link to post
Share on other sites