Jump to content
BrainDen.com - Brain Teasers
  • 0

Total number of equilateral triangles


Perhaps check it again
 Share

Question

*             *              *             *    

  

       *              *             *             *

 

               *             *             *            *

 

                      *              *

 

              *              *

 

 

 

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?

 

 

  • Upvote 1
Link to comment
Share on other sites

7 answers to this question

Recommended Posts

  • 0

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 by Perhaps check it again
Link to comment
Share on other sites

  • 0

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 by witzar
Link to comment
Share on other sites

  • 0

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 17th point at 6,4 increases the ratio from 2.5625 to 2.70588 (46 ETs.)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...